Aviatrix3D
2.0 Dev

Package org.j3d.aviatrix3d

A core set of lightweight Object Oriented scenegraph-based wrapper objects for OpenGL.

See:
          Description

Interface Summary
ApplicationUpdateObserver Observer of the rendering system that is informed when it is safe to update the scene graph from application code.
AudioRenderable Marker interface for all objects that would like to be capable of rendering themself using an audio renderer.
AudioSource Marker interface representing a class that provides source data for a Sound object.
Cullable Marker interface that represent a generic node that is capable of deciding whether it should cull it children.
CustomRenderable Marker interface for all leaf objects that wish to implement custom rendering capabilities beyond just the basic GL callbacks, combining the custom culling of Cullable with the rendering callbacks of RenderableComponent.
DeletableSceneGraphObject Marker interface that permits an object to have a known, well-defined method for being called to clean up it's internal state during the OpenGL rendering cycle.
InternalNodeUpdateListener Listener used by the rendering system to provide internal notifications to nodes about operations they must perform.
MultipassRenderObserver An observer and operator for working with multipass textures.
MultipassTextureDestination Marker describing a Texture that can make use of multipass rendering component defined by a MultipassTextureSource to generate the source data.
MultipassTextureSource Marker describing a texture source that that is rendered to the main surface using a multipass technique.
NodeUpdateHandler Abstract representation of a piece of code that wants to manage the node update process internally to the scene graph.
NodeUpdateListener A listener interface for notification that its safe to update a nodes representation in the Scene Graph.
OffscreenTextureSource Marker describing a texture source that gets it's source data from an offscreen, direct rendering path.
PBufferTextureSource Marker describing a texture that is rendered to an offscreen buffer, using OpenGL pBuffers.
Renderable Marker interface for all objects that would like to be capable of rendering themself if given appropriate information.
RenderableBufferState Marker describing a renderable object that is used to control one of the OpenGL buffer states.
RenderableComponent Marker interface for NodeComponent classes that need to render themselves using some extra external identifier.
RenderableGeometry Marker interface for the terminal rendering state in OpenGL - a piece of geometry.
RenderableObject Marker interface for all objects that can render themself given just a GL context and GLU information.
RenderEffectsProcessor Observer of the rendering system that is informed of pre and post rendering timing so that it may perform it's own additional drawing operations.
ShaderSceneGraphObject Marker interface for shader objects that require interaction with the render loop code outside of the normal app-cull-draw cycle.
TextureSource Marker interface representing a class that provides source data for a Texture object.
 

Class Summary
AccumulationBufferState Describes attributes used when interacting with the accumulation buffer.
AmbientLight Representation of a purely ambient light source with no other abilities.
Appearance Describes the appearance of an object.
AudioComponent Common representation of a component that contains source data to be used in audio.
Background Base collection of functionality marking background nodes of various types.
BackgroundSound A BackgroundSound class whichs emits a sound which doesn't change by distance or orientation.
BaseNode A general purpose container class to allow end users to extend the basic Node capabilities, while still providing a way to manage scene graph state such as liveness calls and update handlers.
BaseSceneGraphObject A general purpose container class to allow end users to extend the basic geometry capabilities, while still providing a way to manage scene graph state such as liveness calls and update handlers.
BlendAttributes Describes attributes used for blending any drawing primitives.
BoundingBox Bounds described as an axis-aligned bounding volume.
BoundingGeometry Bounds described as an arbitrary piece of scene graph structure that is not rendered to screen.
BoundingSphere Bounds described as a spherical volume.
BoundingVoid Bounds described as something that does not exist in the scene graph.
BoundsUtils Utility functionality for bounds management.
BoxBackground Background node that renders a sky box using any or all of the 6 textures.
BufferState Representation of scene graph objects that control the drawing buffer state at the root of the scene graph.
ByteAudioComponent A Audio component that uses raw byte data to be interpreted by the format IDs passed in.
ByteTextureComponent1D A Texture component that uses raw byte data to be interpreted by the format IDs passed in.
ByteTextureComponent2D A Texture component that uses raw byte data to be interpreted by the format IDs passed in.
ByteTextureComponent3D A texture component that wraps a 3D image described as a collection of bytes.
ClipPlane Representation of a single clip plane that can be used to clip a model in addition to the normal view volume clipping.
ColorBackground Background node that represents a single solid 4-component colour.
ColorBufferState Describes attributes used when interacting with the colour buffer.
CompositeLayer A layer that allows the definition of multiple viewports to be rendered.
CompositeViewport An viewport that may, itself contain a large collection of layers.
ConeSound A ConeSound class which emits a conical sound in one direction.
CullInstructions Container for returning the details about what should be culled from a node that implements the Cullable interface.
DepthAttributes Describes attributes used when interacting with the depth buffer on a per-object level.
DepthBufferState Describes attributes used when interacting with the depth buffer.
DirectionalLight Representation of a directional light source.
Fog Describes a fog rendering effect.
FragmentShader Node that handles an ARB fragment shader.
Geometry Geometry is an abstract class that specifies the geometry component information required by a Shape3D node.
GL14Shader Shader container object for the shaders usable with OpenGL 1.4 with the separate vertex and fragment shader code.
GL14ShaderProgram Base class representing a single shader program that can be applied to the rendering pipeline.
GLSLangShader Shader handler for shaders written with the OpenGL GLSLang 1.0 shader language.
Group The Group node object is a generic container of other nodes in the scene.
ImageTextureComponent2D Wraps a 2D image and turns it into a texture source.
ImageTextureComponent3D A texture component that wraps a 3D image.
IndexedLineArray An OpenGL LineArray.
IndexedLineStripArray An OpenGL LineStripArray.
IndexedQuadArray An OpenGL QuadArray.
IndexedQuadStripArray An OpenGL IndexedQuadStripArray.
IndexedTriangleArray An OpenGL Indexed IndexedTriangleArray.
IndexedTriangleFanArray An OpenGL IndexedTriangleFanArray.
IndexedTriangleStripArray An indexed TriangleStrip geometry.
IndexedVertexGeometry Base class that defines indexed geometry types.
Layer An abstract layer definition that can be applied at the root of the scene graph.
Layer2D An Layer that supports only 2D-based rendering concepts.
Leaf A Leaf class is the base class for all scene graph objects that have no children but provide something that may be renderable in the scene graph.
Light Base representation of a light source that corresponds to the base set of capabilities that all lights in OpenGL have.
LineArray An OpenGL LineArray.
LineAttributes Describes attributes used when rendering a line.
LineStripArray An OpenGL LineStripArray.
Material Describes the material properties of an object.
MultipassScene Representation of the top level structure of a piece of scene graph that permits multipass rendering to be performed.
MultipassTextureComponent A source for texture information that is dynamically generated as required per frame.
MultipassViewport A viewport that contains a single scene, with no internal layering and is rendered using multipass techniques.
MultipassViewportLayer An viewport layer that allows multipass rendering to be performed within this layer.
Node A Node class is the base class for all renderable nodes in the SceneGraph.
NodeComponent The NodeComponent class is the superclass for all non renderable nodes.
ObjectSet A general purpose container class to allow end users to extend the basic geometry capabilities, while still providing a way to manage scene graph state such as liveness calls and update handlers.
OffscreenTexture2D Describes the texture that is rendered to an offscreen buffer, using OpenGL pBuffers.
PointArray An OpenGL PointArray.
PointAttributes Describes attributes used when rendering a point.
PointLight Representation of a point light source.
PointSound A PointSound class which emits sound in all directions from a point.
PolygonAttributes Describes attributes used when rendering a polygon.
QuadArray An OpenGL QuadArray representation.
QuadStripArray An OpenGL QuadStripArray.
RenderPass Representation of a single pass in a multipass rendering layer setup.
Scene Representation of the top level structure of a piece of scene graph that can form a coherent rendering.
SceneGraphObject The SceneGraphObject is a common superclass for all scene graph objects.
SceneGraphPath Representation of a path of nodes through the scene graph.
Shader Base representation of the functionality common across the various shader types that can be applied to geometry.
ShaderArguments Representation of a set of arguments (uniform variables) that can be passed to a shader program.
ShaderObject Representation of a single Shader Object code that will form the final shader program.
ShaderProgram Representation of a complete GLSLang shader program.
Shape3D A Shape3D class wraps polygonal geometry and appearance information.
ShapeBackground Background node that renders a list of user-provided Shape3D instances.
SharedGroup A grouping node that can have multiple parents, thus allowing a graph structure to the scene graph.
SharedNode A node that can have multiple parents, thus allowing a graph structure to the scene graph.
SimpleLayer An layer definition that only allows a single viewport that covers the entire area as it's child.
SimpleScene Representation of the top level structure of a piece of scene graph that can form a coherent rendering.
SimpleViewport A viewport that contains a single scene, with no internal layering.
SimpleViewportLayer An viewport layer definition that only allows a single, simple scene to be drawn as it's contents.
Sound A Sound class represents all sound emiting nodes in the system.
SphereBackground Background node that renders a single user-provided texture on a sphere.
SpotLight Representation of a spot light source.
StencilAttributes Describes attributes used when interacting with the stencil buffer.
StencilBufferState Describes attributes used when interacting with the stencil buffer.
SwitchGroup Special grouping node that allows the selection of only a single child to be rendered.
TexCoordGeneration Describes a texture's automatic texture coordinate generation properties per axis.
Texture Describes the basic textured appearance of an object.
Texture1D Describes the 1D texture properties of an object.
Texture2D Describes the 2D texture that can be applied to an object.
Texture3D Describes the 3D (volume) texture properties of an object.
TextureAttributes Describes how a texture gets applied to the underlying geometry.
TextureComponent Common representation of a component that contains source data to be used in textures.
TextureComponent1D A marker interface to ensure a Texture component contains 1D data
TextureComponent2D A marker interface to ensure a Texture component contains 2D data
TextureComponent3D A marker interface to ensure a Texture component contains 3D data
TextureCubicEnvironmentMap A specialist object that renders a cubic environment map from pre-built sources.
TextureUnit Describes a texture stage and its associated texture and attributes.
TransformGroup A grouping node that contains a transform.
TriangleArray An OpenGL TriangleArray representation.
TriangleFanArray An OpenGL TriangleFanArray.
TriangleStripArray An OpenGL TriangleStripArray.
VertexGeometry Common representation of all vertex-based geometry.
VertexShader Node that handles Vertex shader implementation.
ViewEnvironment Representation of the physical environment setup used to connect a virtual Viewpoint object to the real one that is rendered on a drawable surface.
Viewpoint A viewpoint into the scene.
Viewport Abstract representation of a viewport on the drawable surface.
ViewportLayer An abstract layer definition for per-viewport layer rendering.
ViewportLayer2D An ViewportLayer that supports only 2D-based rendering concepts.
 

Exception Summary
AlreadyParentedException An exception for when an attempt is made to set set a parent on a node that already has a parent created.
CyclicSceneGraphStructureException An exception for when an attempt is made to set a node somewhere in the scenegraph and it would create a cyclic structure.
InvalidDataTypeException An exception for when an attempt is made to set or fetch a value from any node in the scene graph, but the user-provided data type does not match that required.
InvalidListenerSetTimingException An exception for when an attempt is made to set a bounds or data changed listener at a time when it is not allowed to be.
InvalidNodeTypeException An exception for when an attempt is made to set a node somewhere in the scenegraph and it is not the required type.
InvalidWriteTimingException An exception for when an attempt is made to write to a node's data when it is not permitted by the scene graph.
 

Package org.j3d.aviatrix3d Description

A core set of lightweight Object Oriented scenegraph-based wrapper objects for OpenGL. In this package are all the core nodes and interfaces that define the basic structure of Aviatrix3D. These nodes represent the scenegraph itself, but none of the rendering process.

For how the rendering is performed, see the following packages:

Setting geometry

Part of the optimisation we make is to only copy into the underlying structures the exact number of coordinates, normals etc that are needed. To know this number, we need to know how many coordinates exist before attempting to set anything else. When constructing, or updating, geometry, you should always make sure that you first set the vertex list, then the sizing information for the strip or fan counts, and then set normals as needed.

Implementation Notes

The following features are not implemented as at V2.0 even though the APIs and classes exist.


Aviatrix3D
2.0 Dev

Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - 2005 j3d.org