Aviatrix3D
2.1.0

org.j3d.aviatrix3d.pipeline.graphics
Class NullCullStage

java.lang.Object
  extended by org.j3d.aviatrix3d.pipeline.graphics.BaseCullStage
      extended by org.j3d.aviatrix3d.pipeline.graphics.NullCullStage
All Implemented Interfaces:
CullStage, GraphicsCullStage

public class NullCullStage
extends BaseCullStage

Handles the scenegraph maintenance and culling operations.

The culling phase generates a list of nodes to render. A future optimization will sort the render list by OGL state.

By default, the implementation will walk into shape3Ds looking for any offscreen textures to be rendered. If you know that you do not have any in the scene, then you can set an internal flag to not look for them, thus achieving a simple performance boost.

Since this is a null culling stage, and thus no culling is performed, if the scene graph contains instances of CustomCullable, they are ignored and traversal stops at that point.

Version:
$Revision: 3.9 $
Author:
Justin Couch

Field Summary
 
Fields inherited from class org.j3d.aviatrix3d.pipeline.graphics.BaseCullStage
activeParent, appearanceStack, checkOffscreens, clipList, clipTxList, currentViewpointPath, errorReporter, eyePoint, fogStack, lastAppearanceStack, lastClip, lastFogStack, lastLight, lastOutputLayer, lastOutputList, lastSubscene, lastTxStack, layersTmp, LIGHT_INCREMENT, LIGHT_START_SIZE, lightList, lightTxList, LIST_INCREMENT, LIST_START_LENGTH, matrixUtils, orientationMatrix, outputLayerCounts, outputLayers, outputSceneParents, pendingParents, pendingSubscenes, processedPBufferTextures, screenOrientation, SHARED_VP_MSG, terminate, transformStack, useEyePoint, useOrientation, validSceneParents, viewMatrix1, viewMatrix2, workCullList, workLayerCounts, workLayers
 
Constructor Summary
NullCullStage()
          Create a basic instance of this class with the list assuming there are no off-screen buffers in use for the initial internal setup.
NullCullStage(int numSurfaces)
          Create a basic instance of this class with the list initial internal setup for the given number of renderable surfaces.
 
Method Summary
protected  void cullRenderPass(RenderPassCullable pass, int passNumber, int subsceneId, int layerId, int viewIndex, int layerIndex)
          Update and cull the a single pass from a multipass rendering.
protected  void cullScene(RenderPassCullable scene, int subsceneId, int layerId, int viewIndex, int layerIndex)
          Update and cull the scenegraph.
protected  void cullScene2D(RenderPassCullable scene, int subsceneId, int layerId, int viewIndex, int layerIndex)
          Update and cull a 2D scenegraph.
 
Methods inherited from class org.j3d.aviatrix3d.pipeline.graphics.BaseCullStage
checkForOffscreens, cleanupOldRefs, cull, cullMultipassViewportLayer, cullSingleViewportLayer, cullViewport, fill2DEnvData, fillMultipassEnvData, fillRenderPassEnvData, fillSingleEnvData, halt, isOffscreenCheckEnabled, processLayer, resizeAppearanceStack, resizeClipList, resizeCullList, resizeFogStack, resizeLightList, resizeOffscreenList, resizeOutputLists, resizeStack, setCulledGeometryReceiver, setErrorReporter, setEyePointOffset, setOffscreenCheckEnabled, setScreenOrientation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NullCullStage

public NullCullStage()
Create a basic instance of this class with the list assuming there are no off-screen buffers in use for the initial internal setup.


NullCullStage

public NullCullStage(int numSurfaces)
Create a basic instance of this class with the list initial internal setup for the given number of renderable surfaces. The size is just an initial esstimate, and is used for optimisation purposes to prevent frequent array reallocations internally. As such, the number does not have to be perfect, just good enough.

Parameters:
numSurfaces - Total number of surfaces to prepare rendering for
Method Detail

cullScene

protected void cullScene(RenderPassCullable scene,
                         int subsceneId,
                         int layerId,
                         int viewIndex,
                         int layerIndex)
Update and cull the scenegraph. This generates an ordered list of nodes to render. It will not return until the culling is complete.

Specified by:
cullScene in class BaseCullStage
Parameters:
scene - The scene instance to cull
viewIndex - The index of the viewport in the parent ViewportCollection
layerIndex - The index of the layer within the viewport
subsceneId - The index of the subscene in the viewport output
layerId - The index of the layer in the output

cullScene2D

protected void cullScene2D(RenderPassCullable scene,
                           int subsceneId,
                           int layerId,
                           int viewIndex,
                           int layerIndex)
Update and cull a 2D scenegraph. This generates an ordered list of nodes to render. It will not return until the culling is complete.

Specified by:
cullScene2D in class BaseCullStage
Parameters:
scene - The scene instance to cull
subsceneId - The index of the subscene in the viewport output
layerId - The index of the layer in the output
viewIndex - The index of the viewport in the parent ViewportCollection
layerIndex - The index of the layer within the viewport

cullRenderPass

protected void cullRenderPass(RenderPassCullable pass,
                              int passNumber,
                              int subsceneId,
                              int layerId,
                              int viewIndex,
                              int layerIndex)
Update and cull the a single pass from a multipass rendering. This generates an ordered list of nodes to render in the same was as a normal scene, but with fewer items updated, such as only a single background for all passes. It will not return until the culling is complete.

Specified by:
cullRenderPass in class BaseCullStage
Parameters:
pass - The rendering pass instance to cull
subsceneId - The index of the subscene in the viewport output
layerId - The index of the layer in the output
viewIndex - The index of the viewport in the parent ViewportCollection
layerIndex - The index of the layer within the viewport

Aviatrix3D
2.1.0

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