Local Info

j3d.org

Code Organisation

Here we'll outline the basic functional components of what you can find. After that, we refer you to the lower level usage documentation (not written yet!) or the javadoc.

A substantial difference between Aviatrix3D and other scene graph APIs is the completely pluggable and extensible nature of the entire structure. For good (or bad!) one of the most often requested features that we've seen of other scene graph APIs is the ability to mess with every part of the rendering infrastructure. We've taken that to the logical conclusion and laid bare everything as abstract capabilities. That will allow you to mix and match rendering strategies to suit your application needs, and the code layout reflects this approach.

 

Core

Package: org.j3d.aviatrix3d

The scene graph structural code. Classes represent all of the traditional concepts associated with scene graphs - groups, shapes, transforms, appearance textures and more. User-level interfaces are provided to interact with the scene graph at runtime and allow you to select one of a number of different output modes and models.

Rendering Pipeline Implementations

Package: org.j3d.aviatrix3d.pipeline

Turning the scene graph structure into a set of commands that should be drawn on screen is the focus of this package. The core package defines a set of abstract structures for the pipeline, but does not define concrete class implementations. That is the purpose of this package. Various implementations of the stages of the rendering pipeline are provided here from the simple operations that do not cull or sort geometry to complex techniques utilising inter-frame coherence techniques.

Output Device Implementations

Package: org.j3d.aviatrix3d.surface

After all the processing, you need to render the output to some device. This package provides a number of different output device options. Right now it is relatively limted to just traditional 2D screens and the Elumens Dome/VisionStation. More will be forthcoming in the future.

Utilities

Package: org.j3d.renderer.aviatrix3d and subpackages

No library is complete without a set of utility classes to aid in the fast construction and maintenance of the scene graph. Various packages here are provided, and more are on their way as we port over the code from the Java3D-specific packages found in the core Code Repository.