PipeOcclusionCullTraverser¶
from acron.core import PipeOcclusionCullTraverser
- class PipeOcclusionCullTraverser¶
Bases:
Bases:
CullTraverser,CullHandlerThis specialization of
CullTraverseruses 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
GraphicsPipeandDisplayRegionand other classes in display. So we put it in grutil instead, for lack of any better ideas.Inheritance diagram
digraph inheritance7dc6f7ee39 { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "CullTraverser" [URL="acron.core.CullTraverser.html#acron.core.CullTraverser",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedReferenceCount" -> "CullTraverser" [arrowsize=0.75,style=""]; "DTOOL_SUPER_BASE" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style=""]; "PipeOcclusionCullTraverser" [URL="acron.core.PipeOcclusionCullTraverser.html#acron.core.PipeOcclusionCullTraverser",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CullTraverser" -> "PipeOcclusionCullTraverser" [arrowsize=0.75,style=""]; "ReferenceCount" [URL="acron.core.ReferenceCount.html#acron.core.ReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "ReferenceCount" [arrowsize=0.75,style=""]; "TypedObject" [URL="acron.core.TypedObject.html#acron.core.TypedObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "TypedObject" [arrowsize=0.75,style=""]; "TypedReferenceCount" [URL="acron.core.TypedReferenceCount.html#acron.core.TypedReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedObject" -> "TypedReferenceCount" [arrowsize=0.75,style=""]; "ReferenceCount" -> "TypedReferenceCount" [arrowsize=0.75,style=""]; }- __init__()¶
- end_traverse()¶
Should be called when the traverser has finished traversing its scene, this gives it a chance to do any necessary finalization.
- get_buffer()¶
- static get_class_type()¶
- get_occlusion_mask()¶
Returns the
DrawMaskfor occlusion polygons. Seeset_occlusion_mask().
- get_texture()¶
Returns a Texture that can be used to visualize the efforts of the occlusion cull.
- set_occlusion_mask()¶
Specifies the
DrawMaskthat 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()¶