what are the differences between Xith and java3D??? what are the advantages of Xith over java3D??
One of the advantages used to be that Xith installed with Java Web Start but Java 3D did not. I think Java 3D is now Java Web Start capable.
Xith is Open Source. Java 3D is “public source”. This is a big deal for me personally.
Xith uses JOGL/JSR-231. A couple of years ago, Java 3D did not seem interested in integrating with JOGL. Does anyone know if that has changed?
One thing you should know is : Xith3D is born from the frustration game developers had with Java3D. Consequently it’s more game-oriented.
It supports JOGL (JSR-231) in addition to LWJGL, which is a really good thing, cause LWJGL isn’t supported on all platforms, whereas JOGL runs nearly everywhere.
We have plenty of loaders : ASE, 3DS, OBJ, MD2, MD3, AC3D, COLLADA, and maybe soon Cal3D if theKman project is successful.
Support is pretty good. People are kind, answers quickly, and they generally know what they’re talking about.
I miss probably some points here but you’ll find’em by yourself !
Here are the point I have come accross ;
- Java3D automatically manages lights, Xith3D don’t (light lit their child nodes, not the nodes within their range), this is also true for behaviors, fog, …
- Xith3D was dropped by the original author before it reachs release milestone. Therefore, there are a lot of unfinished or unsupported features wandering in the API. It seems that it is in the way of moving toward a stable release but the current release are somewhat ‘alpha’ release.
- The Xith3D renderer does not perform heavy frame coherency optimizations. Therefore, it does not scale that well with the size of your scene. Java3D creates retained version of your scene which is update only when needed, allowing it to reach better performance on scene with static parts.
- Java3D is multithreaded, Xith3D is not.
- Xith3D support of GPU program is somewhat limited (ARB program only), Java3D supports high level shader like Cg and GLSL.
- Xith3D renderer uses OpenGL (through JSR231/JOGL or LWJGL), Java3D uses OpenGL or DirectX.
- Since Xith3D uses JSR231/JOGL, it may be used in applets (try http://www.javapause.com), Java3D may not (the JSR231 renderer is work in progress).
- The license are not the same between those 2 API.