Java 3D
From Wikipedia, the free encyclopedia
Java 3D is a scene graph-based 3D application programming interface (API) for the Java platform. It runs on top of either OpenGL or Direct3D. Since version 1.2, Java 3D is developed under the Java Community Process. JSR 926 specifies Java 3D 1.4; as of 2006, the current version is 1.4.0_01. Java 3D 1.5 is currently under development, and will be specified by a new JSR to be filed later in 2006.
Compared to other solutions, Java 3D is not only a wrapper around these graphics APIs, but an interface that encapsulates the graphics programming using a real, object-oriented concept. Here a scene is constructed using a scene graph that is a representation of the objects that have to be shown. This scene graph is structured as a tree containing several elements that are necessary to display the objects. Additionally, Java 3D offers extensive spatialized sound support.
Contents |
[edit] History
- Intel, Silicon Graphics, Apple, and Sun all had retained mode scene graph APIs under development in 1996. Since they all wanted to make a Java version, they decided to collaborate in making it. That project became Java 3D.
- Development was underway already in 1997.
- A public beta version was released in March 1998.
- First version released December 1998.
- From mid-2003 through summer 2004, the development of Java 3D was discontinued.
- In the summer of 2004 Java 3D was released as a community source project, and Sun and volunteers have since been continuing its development.
- Version 1.4.0 of the API was released on February 24, 2006.
[edit] Features
- Multithreaded scene graph structure
- Platform independent
- Generic Real-time API, usable for both visualization and gaming
- Support for retained, compiled-retained, and immediate mode rendering
- Native support for head-mounted display
- CAVE (multiple screen projectors)
- 3D spatial sound
- Sophisticated virtual-reality-based view model
- Programmable shaders, supporting both GLSL and CG
- Stencil buffer
- Importers for most mainstream formats, like 3DS, OBJ, VRML, X3D, NWN, and FLT
[edit] Competing technologies
Java 3D is not the only high-level API option to render 3D in Java. In part due to the pause in development during 2003 and 2004, many competing Java scenegraph technologies emerged:
General purpose:
Gaming:
Visualization:
In addition to those, many other C or C++ scenegraph APIs offer Java support through JNI.
[edit] See also
- Project Looking Glass Experimental 3D Desktop using Java 3D
[edit] External links
- Java 3D Official Homepage The Java 3D community source project
- Java 3D 1.2 API Specification (HTML format only)
- Java 3D 1.4.0 API (Javadoc documentation)
- Java 3D 1.4.0 implementation
- JSR 926 (Java 3D 1.4)
- JSR 912 (Java 3D 1.3)
- Java 3D Wiki A place for Java 3D collaboration
- Java 3D Forums For users and developers
- J3D.ORG Java 3D information page and lots of sample code
- Java 3D support and information page
- Example VR application using Java 3D
- Java 3D test page An applet that tests if Java 3D is installed correctly.