This collects together the pieces of data that are accumulated for each node while walking the scene graph during the cull traversal.
More...
Public Member Functions |
|
| CullTraverserData (const NodePath &start, const TransformState *net_transform, const RenderState *state, GeometricBoundingVolume *view_frustum, Thread *current_thread) |
|
| CullTraverserData (const CullTraverserData ©) |
| | CullTraverserData (const CullTraverserData &parent, PandaNode *child) |
| | This constructor creates a CullTraverserData object that reflects the next node down in the traversal.
|
| void | apply_transform_and_state (CullTraverser *trav) |
| | Applies the transform and state from the current node onto the current data.
|
| void | apply_transform_and_state (CullTraverser *trav, CPT(TransformState) node_transform, CPT(RenderState) node_state, CPT(RenderEffects) node_effects, const RenderAttrib *off_clip_planes) |
| | Applies the indicated transform and state changes (e.g.
|
|
| CPT (CullPlanes) _cull_planes |
|
| CPT (RenderState) _state |
|
| CPT (TransformState) get_modelview_transform(const CullTraverser *trav) const |
|
| CPT (TransformState) _net_transform |
| const TransformState * | get_net_transform (const CullTraverser *trav) const |
| | Returns the net transform: the relative transform from root of the scene graph to the current node.
|
| bool | is_in_view (const DrawMask &camera_mask) |
| | Returns true if the current node is within the view frustum, false otherwise.
|
| bool | is_this_node_hidden (const CullTraverser *trav) const |
| | Returns true if this particular node is hidden, even though we might be traversing past this node to find a child node that has had show_through() called for it.
|
| PandaNode * | node () const |
| | Returns the node traversed to so far.
|
| const PandaNodePipelineReader * | node_reader () const |
| | Returns the PipelineReader for the node traversed to so far.
|
| PandaNodePipelineReader * | node_reader () |
| | Returns the PipelineReader for the node traversed to so far.
|
|
void | operator= (const CullTraverserData ©) |
|
| PT (GeometricBoundingVolume) _view_frustum |
Public Attributes |
|
DrawMask | _draw_mask |
|
WorkingNodePath | _node_path |
|
PandaNodePipelineReader | _node_reader |
|
int | _portal_depth |
This collects together the pieces of data that are accumulated for each node while walking the scene graph during the cull traversal.
Having this as a separate object simplifies the parameter list to CullTraverser::r_traverse(), as well as to other functions like PandaNode::cull_callback(). It also makes it easier to add cull parameters, and provides a place to abstract out some of the cull behavior (like view-frustum culling).
Definition at line 44 of file cullTraverserData.h.
| bool CullTraverserData::is_in_view |
( |
const DrawMask & |
camera_mask | ) |
[inline] |