Whats the difference between Java 3D and OpenGL/Direct3D/PHIGS/, etc?
Java3D is another 3D programming API that exists on a similar level to OpenGL, Direct3D, PHIGS and similar systems. It is designed to use hardware accelaration wherever possible based on the underlying graphics architecture of the OS. That is, J3D provides a 3D rendering API for the Java language, but at the same time it may use OpenGL to do the interface to the hardware. J3D does not require direct hardware device driver support like the other APIs because it could rely on them to build its functionality.