Java 3D is part of the Java Media APIs developed by Javasoft. Providing developers with high level constructs for creating and manipulating 3D geometry in a platformindependent way, the Java 3D API is a set of classes for writing three-dimensional graphics applications and 3D applets.
Since a Java3D program runs at the same level as any other Java program/applet
in the virtual machine, controlling the virtual world
becomes very easy through calling the Java3D API from any Java program. Although
Java3D and VRML both appear to target the same application area, they have fundamental
differences. VRML is aimed at a presentational application area and includes
some support for runtime programming operations through its External Authoring
Interface and the Script node, as mentioned earlier. Java 3D; however, is specifically
a Java language API, and is only a runtime API. Java 3D does not define a file
format of its own and is designed to provide support for applications that require
higher levels of performance and interactivity, such as real-time games and
sophisticated mechanical CAD applications. In this sense, Java 3D provides a
lower-level, underlying platform API.
Many VRML implementations can be layered on top of Java 3D. In fact, it is possible to write a VRML browser using Java 3D, such as the browser developed by VRML consortiums Java3D and VRML Working group.