|
Aviatrix3D 2.0 Dev |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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.
Method Summary | |
void |
cull(Layer[] layers,
int numLayers,
int buffer)
Update and cull the scenegraph defined by a set of layers. |
void |
halt()
Force a halt of the current processing. |
Method Detail |
public void cull(Layer[] layers, int numLayers, int buffer)
layers
- The collection of layers, in order, to rendernumLayers
- The number of valid layers to usebuffer
- The buffer ID to use to output the data to when
multi-threadedpublic void halt()
|
Aviatrix3D 2.0 Dev |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |