PipeOcclusionCullTraverser

from panda3d.core import PipeOcclusionCullTraverser
class PipeOcclusionCullTraverser

Bases: CullTraverser

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.

Inheritance diagram

Inheritance diagram of PipeOcclusionCullTraverser

__init__(*args, **kwargs)
endTraverse()

C++ Interface: end_traverse(const PipeOcclusionCullTraverser self)

/**
  • Should be called when the traverser has finished traversing its scene, this

  • gives it a chance to do any necessary finalization.

*/

end_traverse()

C++ Interface: end_traverse(const PipeOcclusionCullTraverser self)

/**
  • Should be called when the traverser has finished traversing its scene, this

  • gives it a chance to do any necessary finalization.

*/

getBuffer()

C++ Interface: get_buffer(PipeOcclusionCullTraverser self)

/**

*/

getClassType()

C++ Interface: get_class_type()

getOcclusionMask()

C++ Interface: get_occlusion_mask(PipeOcclusionCullTraverser self)

/**
  • Returns the DrawMask for occlusion polygons. See set_occlusion_mask().

*/

getTexture()

C++ Interface: get_texture(const PipeOcclusionCullTraverser self)

/**
  • Returns a Texture that can be used to visualize the efforts of the

  • occlusion cull.

*/

get_buffer()

C++ Interface: get_buffer(PipeOcclusionCullTraverser self)

/**

*/

get_class_type()

C++ Interface: get_class_type()

get_occlusion_mask()

C++ Interface: get_occlusion_mask(PipeOcclusionCullTraverser self)

/**
  • Returns the DrawMask for occlusion polygons. See set_occlusion_mask().

*/

get_texture()

C++ Interface: get_texture(const PipeOcclusionCullTraverser self)

/**
  • Returns a Texture that can be used to visualize the efforts of the

  • occlusion cull.

*/

setOcclusionMask()

C++ Interface: set_occlusion_mask(const PipeOcclusionCullTraverser self, const BitMask 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()

C++ Interface: set_scene(const PipeOcclusionCullTraverser self, SceneSetup scene_setup, GraphicsStateGuardianBase gsg, bool dr_incomplete_render)

/**

*/

set_occlusion_mask()

C++ Interface: set_occlusion_mask(const PipeOcclusionCullTraverser self, const BitMask 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.

*/

set_scene()

C++ Interface: set_scene(const PipeOcclusionCullTraverser self, SceneSetup scene_setup, GraphicsStateGuardianBase gsg, bool dr_incomplete_render)

/**

*/

upcastToCullTraverser()

C++ Interface: upcast_to_CullTraverser(const PipeOcclusionCullTraverser self)

upcast from PipeOcclusionCullTraverser to CullTraverser

upcast_to_CullTraverser()

C++ Interface: upcast_to_CullTraverser(const PipeOcclusionCullTraverser self)

upcast from PipeOcclusionCullTraverser to CullTraverser