2 years ago, I started the development of a scientific application, an explorer for molecules and solids. At that point I had minor experience with 3D graphics. Java3D was the first choice, due to its "easy-to-use", its platform independence and applet-ablility. For some features it seemed that they only could be implemented with difficulties, but that was okay, since the benefits of Java3D were outweighing. 9 month ago, I started rewriting that application from the beginning (the design had failures and I knew beforehand, that I had to rewrite the app one day, because I knew too less about 3D graphics and the upcoming structure of the app.) These days, I heard rumors about "the future of Java3D" and so I started to search for alternatives, since I already knew the difficulties I would get with Java3D. So I chose GL4Java as OpenGL-binding for Java. "That will be hard work to do all the picking-routines, depth-sorted drawing by hand" I thought. But since I had gathered many details about OpenGL meanwhile and because of the help of tutorials/forums for OpenGL I could quickly implement these features. And the diffuculties have disappeared, since I had direct access to OpenGL. (f.e. I need the stencil buffer for I certain kind of stereo format; per-frame operation were possible with null effort)
To make the conclusion:
I´m stranded with an OpenGL-binding now. But I´m still very convinced by the structure/architecture of Java3D. If I only were able to extend the Java3D API or had direct access to OpenGL.
Thus my suggestions: (some parts like Gili mentioned)
- seperate Java3D into toplayer (scenegraph and vecmath), and basic layer (OpenGL binding)
- make the sources of Java3D toplayer (scenegraph and vecmath) available, thus people can extend and improve the toplayer. I don't think it is necessary to provide certain people actively supporting Java3D, since we have a great, competent community). Thus people can create, build or extend: scenegraph, vecmath, CAD libraries or whatelse!
- provide a STANDARDIZED basic layer (f.e. JOGL). Thus one is able to access OpenGL methods, whenever necessary. Forget DirectX!
Okay, so far, hope my wishes come true and the excellent Java3D has a future!
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".