|
Design OverviewThis document lays out the basic structure of all of Aviatrix3D in one reference. For more details, see the individual description pages linked on the side. There are 10 main packages that defines the core of Aviatrix3D, of which 7
define the abstract structure and two are purely implementation and utilities.
In addition there are another 15 packages that hold optional utility code
that expand on the basic functionality. The core classes are contained under
the root package
Basic StructureThe core of Aviatrix3D is laid out to separate the public-facing scene graph structure from rendering and picking. The rendering-level code is further broken down into timing management and the rendering infrastructure such as culling and sorting. Each package describes its basic functionality through a collection of interfaces and abstract classes, which are then realised with concrete classes. Due to the amount of classes in the system, we'll limit our descriptions here to just the interfaces. Figure 1 outlines the structure of these packages and the main interfaces that you will be using and seeing.
Figure 1: Package layout of the core of Aviatrix3D User-facing Scene GraphThe user-facing scene graph is the part that users will primarily interact with. Here you will find all the basic structures that you would expect to find in a scene graph - nodes for grouping, polygon representation, textures, appearance, lighting etc. The scene graph is described using the modern depth-first directed-acyclic graph traversal style. Attributes from higher in the tree are pushed downwards towards the leaf nodes.
Figure 2: The core of the user-facing scene graph At the base of all the scene graph is the abstract class
Rendering PipelineThe rendering pipeline consists of two separate sets of packages.
The package
Figure 3: Basic classes in the rendering pipeline
Figure 4: Extensions to the basic pipeline for graphics
Figure 5: Extensions to the basic pipeline for audio Connecting the rendering pipeline to the user facing scene graph objects
are the interfaces in the Figure 3: The interfaces for connecting the rendering pipeline to the user-facing scene graph nodes. |
[ Home ]
[ License ]
[ javadoc ]
[ Online Examples ]
[ Download ]
[ j3d.org ] [ Aviatrix3D ] [ Code Repository ] [ Java3D ] [ OpenGL ] [ Books ] [ Contact Us ] Last Updated: $Date: 2007-01-29 20:23:45 $ |