From: Scott V. <vo...@cs...> - 2003-06-21 21:25:41
|
Hi, all, I've been using a combination of gl4java and a slightly modified JFree-D, to achieve a measure of Java3d support on Mac OS X. There are lots of features unimplemented in JFree-D, but the thing I miss most is the performance of a real Java3d implementation. When I watch my app run on Windows, there's at least a 10X speedup during rotations of complex 3D objects. So, I rolled up my sleeves to see if I could fix JFree-D, or just code directly to gl4java or jogl. Basically, I started reading up on OpenGL. I soon discovered display lists, and soon thereafter discovered that JFree-D largely ignores this optimization. This means that where I could be sending one integer across the JNI boundary, I'm sending thousands of 4x4 double arrays! Now, I've cleaned up and reorganized JFree-D, and implemented the obvious mapping from a scene graph to display lists, using a visitor pattern. (This allows me to encapsulate the gl4java dependency in one or two classes, rather than having it sprinkled throughout JFree-D.) However... GLFunc.glCallList does not seem to work. Ever. Nothing happens. I want to share my improved JFree-D with the world, so others can improve upon it and benefit from it. (Particularly since the folks at Apple and Sun cannot seem to get over whatever their problem is to bring out a real Java3d on Mac OS X.) But I can't go forward until I can get the DLs to work. I've tried building gl4java on Mac OS X, with little success... so I can't really determine if the problem is there (I doubt it) or in JFree-D (almost certainly). One way to check would be to build a jogl version of JFree-D, which will be fairly easy with my visitor encapsulation of the rendering. However, I have been unable to get jogl to build on Mac OS X either. So, I need help building gl4java or jogl or both. The benefit would be a new, optimized, free Java3d implementation. I know most of you folks prefer to stay "close to the renderer", so you may not care. But I'm hoping I'm wrong. It would also be great if someone could look over my gl4java calls in JFree-D, to point out whatever obvious thing I seem to have missed. I can send a snapshot to anyone who wants to take a look. Thank you in advance, Scott -- Scott Vorthmann vo...@cs... http://www.vorthmann.org/ 716 Carl Dr Chapel Hill, NC 27516 919 960 8583 |