This object performs a depth-first traversal of the scene graph, with optional view-frustum culling, collecting CullState and searching for GeomNodes.
More...
Classes |
| class | Point |
Public Member Functions |
|
| PortalClipper (GeometricBoundingVolume *frustum, SceneSetup *scene_setup) |
| void | draw_camera_frustum () |
| | Draw the current camera frustum in white color.
|
| void | draw_current_portal () |
| | _portal_node is the current portal, draw it.
|
| void | draw_hexahedron (BoundingHexahedron *frustum) |
| | Given the BoundingHexahedron draw it using lines.
|
| void | draw_lines () |
| | Draw all the lines in the buffer Cyan portal is the original geometry of the portal Yellow portal is the AA minmax & clipped portal Blue frustum is the frustum through portal White frustum is the camera frustum.
|
| void | draw_to (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z) |
| | Draws a line segment from the pen's last position (the last call to move_to or draw_to) to the indicated point.
|
| void | draw_to (const LVecBase3 &v) |
| | Draws a line segment from the pen's last position (the last call to move_to or draw_to) to the indicated point.
|
|
virtual TypeHandle | force_init_type () |
| const RenderState * | get_clip_state () const |
| | Returns the stored clip state.
|
| BoundingHexahedron * | get_reduced_frustum () const |
| | Return the reduced frustum.
|
| void | get_reduced_viewport (LPoint2 &min, LPoint2 &max) const |
| | Return the reduced viewport.
|
|
virtual TypeHandle | get_type () const |
| bool | is_facing_view (const LPlane &portal_plane) |
| | checks if the portal plane (in camera space) is facing the camera's near plane
|
|
bool | is_partial_portal_in_view () |
| bool | is_whole_portal_in_view (const LMatrix4 &cmat) |
| | checks if portal_node is within the view frustum.
|
| void | move_to (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z) |
| | Moves the pen to the given point without drawing a line.
|
| void | move_to (const LVecBase3 &v) |
| | Moves the pen to the given point without drawing a line.
|
| bool | prepare_portal (const NodePath &node_path) |
| | Given the portal draw the frustum with line segs for now.
|
|
| PT (GeomNode) _previous |
| void | set_clip_state (const RenderState *clip_state) |
| | Set the clip state of the current portal node This is done to remember the state for the child portal nodes.
|
| void | set_reduced_frustum (BoundingHexahedron *bh) |
| | Set the current view frustum that is being calculated by the portal clipper.
|
| void | set_reduced_viewport (const LPoint2 &min, const LPoint2 &max) |
| | Set the current viewport that is being used by the portal clipper.
|
Static Public Member Functions |
|
static TypeHandle | get_class_type () |
| static void | init_type () |
| | This function is declared non-inline to work around a compiler bug in g++ 2.96.
|
Public Attributes |
|
SceneSetup * | _scene_setup |
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling, collecting CullState and searching for GeomNodes.
Each renderable Geom encountered is passed along with its associated RenderState to the CullHandler object.
Definition at line 52 of file portalClipper.h.