3d options.

Could somebody explain the 3d options to me? Java3d, JOGL, LWJGL, Xith3d, jME. What are the differences? What are the kids using these days. What’s hip and cool. The shizzle I believe they are calling it.

Phew. Tall order. Here goes:

JOGL, LWJGL:

These are interfaces to the OpenGL API. OpenGL is very low level, and acts like a “drawing” surface. i.e. You pass it a polygon, and it renders it to the screen. When you are done drawing polygons, you can flip the buffer just like on a 2D surface. LWJGL focuses on “gaming” support and AWT independence. JOGL focuses on all types of visualizations, and provides full integration with AWT/Swing applications.

Java3D. Xith3D, jME:

These are “scenegraphs” on top of an OpenGL API. What these do, is they allow you to load a static or semi-static 3D model, then leave the details of rendering up to the scenegraph. This abstracts you away from having to manually manage hundreds to thousands of polygons. Instead, you can manipulate scenes as if they were solid objects of a sort.

Java3D was an API first provided by Sun Microsystems many years back. While it is now open source, many consider it deprecated. Xith3D is a semi-compatible reimplementation of the Java3D API. Its focus is on gaming performance. jME, is another scenegraph option that focuses on gaming.

Does that help?

Thanks, that was a great help.