Aviatrix3D
2.0

org.j3d.aviatrix3d.pipeline
Interface CullStage

All Known Subinterfaces:
AudioCullStage, GraphicsCullStage
All Known Implementing Classes:
BaseCullStage, DebugFrustumCullStage, FrustumCullStage, GenericCullStage, NullAudioCullStage, NullCullStage, SimpleFrustumCullStage

public interface CullStage

Handles the scenegraph per-frame culling operations.

The culling phase generates a list of leaf nodes to render by removing non-required sections of the scene graph. How this culling is performed (if at all) is dependent on the implementation of this class. All that is defined is a complete scene graph as input, and a grouped set of nodes based on what must be kept together from a rendering perspective. Two typical culling approaches are view frustum and BSP. Others may also be implemented dependent on the application domain. Implementations may also work concepts that are not 3D geometry-based, such as audio and haptics.

The culling stage is responsible for looking at the offscreen renderable surfaces as well as the main screen. Since most scenes will not require any offscreen rendering, convenience methods are defined to allow the user to turn on/off these checks. Offscreen rendering, and the checking for extra renderables can be a huge CPU hog so it is advisable to make sure that it is turned off if you don't need it. An ideal implementation will be able to handle dynamically switching between the two states between frames without the need to restart.

Output is to be sent to the registered listener.

Version:
$Revision: 2.3 $
Author:
Justin Couch

Method Summary
 void cull(RenderableRequestData otherData, ProfilingData profilingData, LayerCullable[] layers, int numLayers)
          Update and cull the scenegraph defined by a set of layers.
 void halt()
          Force a halt of the current processing.
 

Method Detail

cull

void cull(RenderableRequestData otherData,
          ProfilingData profilingData,
          LayerCullable[] layers,
          int numLayers)
Update and cull the scenegraph defined by a set of layers. This generates an ordered list of nodes to render. It will not return until the culling is complete.

Parameters:
otherData - data to be passed along unprocessed
profilingData - The timing and load data on each stage
layers - The collection of layers, in order, to render
numLayers - The number of valid layers to use

halt

void halt()
Force a halt of the current processing. Any processing in progress should exit immediately. Used to abort the current scene processing due to application shutdown or complete scene replacement.


Aviatrix3D
2.0

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