4.5 Scenegraph advantages | JAVA 3D Programming | Chapter 4
By now you should be aware of many of
the advantages of using a scenegraph. Setting up the scenegraph hierarchy imposes
a design rigor upon the application developer. Initially, particularly with
scientific visualization applications, the scenegraph may seem unnecessarily
restrictive, especially for developers from a low−level OpenGL or DirectX
background. However, advanced planning and design will usually prove the
utility of the scenegraph model, even for applications that do not initially
appear to contain hierarchical graphical objects per se.
Object management
The
scenegraph is a data structure. All the Nodes in it can also reference external
data through the ScenegraphObject.setUserData method (discussed in chapter 8).
Rendering optimization
Scenegraph
node Bounds play an important role in optimizing rendering and behavior
scheduling.
Picking support
Mouse
object selection operations (picking) are automatically supported by the
scenegraph.
Behavior model
Using
Java 3D scenegraph behaviors allows scenegraph objects to be automatically
rotated, transformed, and scaled using interactive user input, aligned relative
to the FOV, animated, morphed, or controlled using a level of detail (LOD)
behavior.
Collision detection
The
Java 3D scenegraph supports basic collision detection between objects within
the scenegraph.
Multiple thread aware
The
Java 3D scenegraph traversal, rendering, behavior, and collision detection
systems are all thread aware and will make use of multiple threads.
Hierarchical control
Changing
the position of a parent Node automatically changes the position of child Nodes
accordingly. This is such an important and powerful concept that it is the
subject of the next section and example.
Comments
Post a Comment