one year ago I started developing a scientific application with Java3D and I collected experience with Java3D. I had some expectation in what one could do with Java3D, but reality showed, that Java3D is somewhat limited. The reasons:
Java3D isn't a High-Level-API: Okay, maybe it is what some people think high-level is, but in detail it is no more than a wrapper for OpenGL, touching the concept of scenegraphs. Most calls seem to be a 1:1 wrappers for OpenGL .... and the more I got involved into native OpenGL the more the parallels between Java3D and OpenGL showed up. What do I need this "high- level" API for? The scenegraph-"capabilities" of Java3D are more debilating than of any use. Most features are nearly 1:1 "calls" to OpenGL ..... apart from that, Java3D offers very limited "high-level" features like interaction and behaviour stuff, basic intersection, selection etc.
Java3D doesn't provide access to some (IMHO) important OpenGL features like buffer controls (stencil, auxiliary, draw, ...), proper stereo support, etc. And since I don´t have sources for Java3D nor I have access to OpenGL from within Java3D there is NO way to achieve that. Unless one waits for the next (?) release of Java3D, which could perhaps do that ...
Java3D isn't faster than OpenGL bindings. I can't affirm that in general. But meanwhile I have ported my application from Java3D to GL4Java and GL4Java seems to be twice as fast as Java3D (tested on two machines, PII- 400 was 32MB graphics card and PIV-1800 with Geforce 4 card, my scene consists of 100-1000 spheres and cylinders, no optimizations done in the GL4Java port).
Future of Java3D is not safe .... see Thread: Java3D is dead.
What should happen to improve Java3D:
-make Java3D open source so the community is able to improve or extend Java3D -Sun should continue Java3D and release version 1.4 as soon as possible and with the most wanted features -introduce a real high-level api, which supports VRML, 3D file loaders, advanced intersection, NURBS and what else -low-level access to OpenGL or DirectX
But as long as I´m not sure what sun has planned for the future, I will use OpenGL-bindings. Even if Sun stops Java3D I can continue my work and I believe there will always be a OpenGL binding available!
Let me know your comments and opinions!!!!!
Best regards
MisterXen
-
=========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
