In today's main Gamasutra feature, and culled from the pages of O'Reilly's Killer Game Programming in Java
book, author Andrew Davison gives an overview of the main elements of Java 3D, and examines its suitability for games programming by considering the criticisms leveled against it.
Davison explains of the way that Java 3D works:
"Java 3D uses a scene graph to organize and manage a 3D application. The underlying graphics pipeline is hidden, replaced by a tree-like structure built from nodes representing 3D models, lights, sounds, the background, the camera, and many other scene elements.
The nodes are typed, the main division being between Group and Leaf nodes. A Group node is one with child nodes, grouping the children so operations such as translations, rotations, and scaling can be applied en masse. Leaf nodes are the leaves of the graph (did you guess that?), which often represent the visible things in the scene such as the models, but may be nontangible entities, such as lighting and sounds. Additionally, a Leaf node (e.g., for a 3D shape) may have node components , specifying color, reflectivity, and other attributes of the leaf.
The scene graph can contain behaviors , nodes holding code that can affect other nodes in the graph at runtime. Typical behavior nodes move shapes, detect and respond to shape collisions, and cycle lighting from day to night."
You can now read the full Gamasutra feature on the subject
, including more technical information and examples on Java 3D as a game development platform (no registration required, please feel free to link to the article from external websites).