Java 3D

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 consortium’s Java3D and VRML Working group.