Panda3D
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties
Public Member Functions | Static Public Member Functions | Public Attributes
PipeOcclusionCullTraverser Class Reference

This specialization of CullTraverser uses the graphics pipe itself to perform occlusion culling. More...

Inheritance diagram for PipeOcclusionCullTraverser:
CullTraverser CullHandler TypedReferenceCount TypedObject ReferenceCount

List of all members.

Public Member Functions

 PipeOcclusionCullTraverser (GraphicsOutput host)
 PipeOcclusionCullTraverser (PipeOcclusionCullTraverser const copy)
 endTraverse ()
 Should be called when the traverser has finished traversing its scene, this gives it a chance to do any necessary finalization.
GraphicsOutput getBuffer ()
BitMaskunsigned const getOcclusionMask ()
Texture getTexture ()
 Returns a Texture that can be used to visualize the efforts of the occlusion cull.
 setOcclusionMask (BitMaskunsigned int, 32 const occlusion_mask)
 Specifies the DrawMask that should be set on occlusion polygons for this scene.
 setScene (SceneSetup scene_setup, GraphicsStateGuardianBase gsg, bool dr_incomplete_render)
 Sets the SceneSetup object that indicates the initial camera position, etc.

Static Public Member Functions

static TypeHandle getClassType ()

Public Attributes

BitMaskunsigned int
 Returns the DrawMask for occlusion polygons.

Detailed Description

This specialization of CullTraverser uses the graphics pipe itself to perform occlusion culling.

As such, it's likely to be inefficient (since it interferes with the pipe's normal mode of rendering), and is mainly useful to test other, CPU-based occlusion algorithms.

This cannot be used in a multithreaded pipeline environment where cull and draw are operating simultaneously.

It can't be defined in the cull subdirectory, because it needs access to GraphicsPipe and DisplayRegion and other classes in display. So we put it in grutil instead, for lack of any better ideas.


Constructor & Destructor Documentation


Member Function Documentation

Should be called when the traverser has finished traversing its scene, this gives it a chance to do any necessary finalization.

Reimplemented from CullTraverser.

static TypeHandle getClassType ( ) [static]

Reimplemented from CullTraverser.

BitMaskunsigned const getOcclusionMask ( )

Returns a Texture that can be used to visualize the efforts of the occlusion cull.

setOcclusionMask ( BitMaskunsigned  int,
32 const  occlusion_mask 
)

Specifies the DrawMask that should be set on occlusion polygons for this scene.

This identifies the polygons that are to be treated as occluders. Polygons that do not have this draw mask set will not be considered occluders.

setScene ( SceneSetup  scene_setup,
GraphicsStateGuardianBase  gsg,
bool  dr_incomplete_render 
)

Sets the SceneSetup object that indicates the initial camera position, etc.

This must be called before traversal begins.

Reimplemented from CullTraverser.


Member Data Documentation

BitMaskunsigned int

Returns the DrawMask for occlusion polygons.

See set_occlusion_mask().

Reimplemented from CullTraverser.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties