openscenegraph
osg::CollectOccludersVisitor Class Reference

#include <CollectOccludersVisitor>

Inheritance diagram for osg::CollectOccludersVisitor:
osg::NodeVisitor osg::CullStack osg::Object osg::CullSettings osg::Referenced

Public Types

typedef std::set< ShadowVolumeOccluder > ShadowVolumeOccluderSet
Public Types inherited from osg::NodeVisitor
enum  TraversalMode { TRAVERSE_NONE , TRAVERSE_PARENTS , TRAVERSE_ALL_CHILDREN , TRAVERSE_ACTIVE_CHILDREN }
enum  VisitorType {
  NODE_VISITOR = 0 , UPDATE_VISITOR , EVENT_VISITOR , COLLECT_OCCLUDER_VISITOR ,
  CULL_VISITOR , INTERSECTION_VISITOR
}
Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
Public Types inherited from osg::CullStack
typedef std::vector< ShadowVolumeOccluder > OccluderList
typedef std::vector< CullingSet > CullingStack
typedef fast_back_stack< ref_ptr< RefMatrix > > MatrixStack
Public Types inherited from osg::CullSettings
enum  VariablesMask {
  COMPUTE_NEAR_FAR_MODE = (0x1 << 0) , CULLING_MODE = (0x1 << 1) , LOD_SCALE = (0x1 << 2) , SMALL_FEATURE_CULLING_PIXEL_SIZE = (0x1 << 3) ,
  CLAMP_PROJECTION_MATRIX_CALLBACK = (0x1 << 4) , NEAR_FAR_RATIO = (0x1 << 5) , IMPOSTOR_ACTIVE = (0x1 << 6) , DEPTH_SORT_IMPOSTOR_SPRITES = (0x1 << 7) ,
  IMPOSTOR_PIXEL_ERROR_THRESHOLD = (0x1 << 8) , NUM_FRAMES_TO_KEEP_IMPOSTORS_SPRITES = (0x1 << 9) , CULL_MASK = (0x1 << 10) , CULL_MASK_LEFT = (0x1 << 11) ,
  CULL_MASK_RIGHT = (0x1 << 12) , CLEAR_COLOR = (0x1 << 13) , CLEAR_MASK = (0x1 << 14) , LIGHTING_MODE = (0x1 << 15) ,
  LIGHT = (0x1 << 16) , DRAW_BUFFER = (0x1 << 17) , READ_BUFFER = (0x1 << 18) , NO_VARIABLES = 0x00000000 ,
  ALL_VARIABLES = 0x7FFFFFFF
}
enum  InheritanceMaskActionOnAttributeSetting { DISABLE_ASSOCIATED_INHERITANCE_MASK_BIT , DO_NOT_MODIFY_INHERITANCE_MASK }
enum  ComputeNearFarMode { DO_NOT_COMPUTE_NEAR_FAR = 0 , COMPUTE_NEAR_FAR_USING_BOUNDING_VOLUMES , COMPUTE_NEAR_FAR_USING_PRIMITIVES , COMPUTE_NEAR_USING_PRIMITIVES }
enum  CullingModeValues {
  NO_CULLING = 0x0 , VIEW_FRUSTUM_SIDES_CULLING = 0x1 , NEAR_PLANE_CULLING = 0x2 , FAR_PLANE_CULLING = 0x4 ,
  VIEW_FRUSTUM_CULLING , SMALL_FEATURE_CULLING = 0x8 , SHADOW_OCCLUSION_CULLING = 0x10 , CLUSTER_CULLING = 0x20 ,
  DEFAULT_CULLING , ENABLE_ALL_CULLING
}
typedef int InheritanceMask
typedef int CullingMode

Public Member Functions

 CollectOccludersVisitor ()
virtual ~CollectOccludersVisitor ()
 META_NodeVisitor (osg, CollectOccludersVisitor) virtual Object *cloneType() const
virtual void reset ()
virtual float getDistanceToEyePoint (const Vec3 &pos, bool withLODScale) const
virtual float getDistanceToViewPoint (const Vec3 &pos, bool withLODScale) const
virtual float getDistanceFromEyePoint (const Vec3 &pos, bool withLODScale) const
virtual void apply (osg::Node &)
virtual void apply (osg::Transform &node)
virtual void apply (osg::Projection &node)
virtual void apply (osg::Switch &node)
virtual void apply (osg::LOD &node)
virtual void apply (osg::OccluderNode &node)
void setMinimumShadowOccluderVolume (float vol)
float getMinimumShadowOccluderVolume () const
void setMaximumNumberOfActiveOccluders (unsigned int num)
unsigned int getMaximumNumberOfActiveOccluders () const
void setCreateDrawablesOnOccludeNodes (bool flag)
bool getCreateDrawablesOnOccludeNodes () const
void setCollectedOccluderSet (const ShadowVolumeOccluderSet &svol)
ShadowVolumeOccluderSet & getCollectedOccluderSet ()
const ShadowVolumeOccluderSet & getCollectedOccluderSet () const
void removeOccludedOccluders ()
Public Member Functions inherited from osg::NodeVisitor
 NodeVisitor (TraversalMode tm=TRAVERSE_NONE)
 NodeVisitor (VisitorType type, TraversalMode tm=TRAVERSE_NONE)
 NodeVisitor (const NodeVisitor &nv, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
virtual ~NodeVisitor ()
 META_Object (osg, NodeVisitor) virtual NodeVisitor *asNodeVisitor()
virtual const NodeVisitor * asNodeVisitor () const
virtual osgUtil::UpdateVisitor * asUpdateVisitor ()
virtual const osgUtil::UpdateVisitor * asUpdateVisitor () const
virtual osgUtil::CullVisitor * asCullVisitor ()
virtual const osgUtil::CullVisitor * asCullVisitor () const
virtual osgGA::EventVisitor * asEventVisitor ()
virtual const osgGA::EventVisitor * asEventVisitor () const
virtual osgUtil::IntersectionVisitor * asIntersectionVisitor ()
virtual const osgUtil::IntersectionVisitor * asIntersectionVisitor () const
virtual osg::CullStack * asCullStack ()
virtual const osg::CullStack * asCullStack () const
void setVisitorType (VisitorType type)
VisitorType getVisitorType () const
void setTraversalNumber (unsigned int fn)
unsigned int getTraversalNumber () const
void setFrameStamp (FrameStamp *fs)
const FrameStamp * getFrameStamp () const
void setTraversalMask (Node::NodeMask mask)
Node::NodeMask getTraversalMask () const
void setNodeMaskOverride (Node::NodeMask mask)
Node::NodeMask getNodeMaskOverride () const
bool validNodeMask (const osg::Node &node) const
void setTraversalMode (TraversalMode mode)
TraversalMode getTraversalMode () const
void setValueMap (ValueMap *ps)
ValueMap * getValueMap ()
const ValueMap * getValueMap () const
ValueMap * getOrCreateValueMap ()
void setValueStack (ValueStack *ps)
ValueStack * getValueStack ()
const ValueStack * getValueStack () const
ValueStack * getOrCreateValueStack ()
void traverse (Node &node)
void pushOntoNodePath (Node *node)
void popFromNodePath ()
NodePath & getNodePath ()
const NodePath & getNodePath () const
virtual osg::Vec3 getEyePoint () const
virtual osg::Vec3 getViewPoint () const
virtual void apply (Drawable &drawable)
virtual void apply (Geometry &geometry)
virtual void apply (Geode &node)
virtual void apply (Billboard &node)
virtual void apply (Group &node)
virtual void apply (ProxyNode &node)
virtual void apply (CoordinateSystemNode &node)
virtual void apply (ClipNode &node)
virtual void apply (TexGenNode &node)
virtual void apply (LightSource &node)
virtual void apply (Camera &node)
virtual void apply (CameraView &node)
virtual void apply (MatrixTransform &node)
virtual void apply (PositionAttitudeTransform &node)
virtual void apply (AutoTransform &node)
virtual void apply (Sequence &node)
virtual void apply (PagedLOD &node)
virtual void apply (ClearNode &node)
virtual void apply (OcclusionQueryNode &node)
void setDatabaseRequestHandler (DatabaseRequestHandler *handler)
DatabaseRequestHandler * getDatabaseRequestHandler ()
const DatabaseRequestHandler * getDatabaseRequestHandler () const
void setImageRequestHandler (ImageRequestHandler *handler)
ImageRequestHandler * getImageRequestHandler ()
const ImageRequestHandler * getImageRequestHandler () const
Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * cloneType () const =0
virtual Object * clone (const CopyOp &) const =0
virtual bool isSameKindAs (const Object *) const
virtual const char * libraryName () const =0
virtual const char * className () const =0
std::string getCompoundClassName () const
virtual Node * asNode ()
virtual const Node * asNode () const
virtual NodeVisitor * asNodeVisitor ()
virtual StateSet * asStateSet ()
virtual const StateSet * asStateSet () const
virtual StateAttribute * asStateAttribute ()
virtual const StateAttribute * asStateAttribute () const
virtual Uniform * asUniform ()
virtual const Uniform * asUniform () const
virtual Camera * asCamera ()
virtual const Camera * asCamera () const
virtual Drawable * asDrawable ()
virtual const Drawable * asDrawable () const
virtual Callback * asCallback ()
virtual const Callback * asCallback () const
virtual CallbackObject * asCallbackObject ()
virtual const CallbackObject * asCallbackObject () const
virtual UserDataContainer * asUserDataContainer ()
virtual const UserDataContainer * asUserDataContainer () const
virtual ValueObject * asValueObject ()
virtual const ValueObject * asValueObject () const
virtual Image * asImage ()
virtual const Image * asImage () const
virtual void setThreadSafeRefUnref (bool threadSafe)
virtual void setName (const std::string &name)
void setName (const char *name)
const std::string & getName () const
void setDataVariance (DataVariance dv)
DataVariance getDataVariance () const
virtual void computeDataVariance ()
void setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * getUserDataContainer ()
const osg::UserDataContainer * getUserDataContainer () const
osg::UserDataContainer * getOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
template<class T>
void setUserData (const ref_ptr< T > &ud)
virtual Referenced * getUserData ()
virtual const Referenced * getUserData () const
template<typename T>
bool getUserValue (const std::string &name, T &value) const
template<typename T>
void setUserValue (const std::string &name, const T &value)
virtual void resizeGLObjectBuffers (unsigned int)
virtual void releaseGLObjects (osg::State *=0) const
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referenced & operator= (const Referenced &)
bool getThreadSafeRefUnref () const
OpenThreads::Mutex * getRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSet * getObserverSet () const
ObserverSet * getOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const
Public Member Functions inherited from osg::CullStack
 CullStack ()
 CullStack (const CullStack &cs)
 ~CullStack ()
void reset ()
void pushCullingSet ()
void popCullingSet ()
void setOccluderList (const ShadowVolumeOccluderList &svol)
ShadowVolumeOccluderList & getOccluderList ()
const ShadowVolumeOccluderList & getOccluderList () const
void pushViewport (osg::Viewport *viewport)
void popViewport ()
void pushProjectionMatrix (osg::RefMatrix *matrix)
void popProjectionMatrix ()
void pushModelViewMatrix (osg::RefMatrix *matrix, Transform::ReferenceFrame referenceFrame)
void popModelViewMatrix ()
float getFrustumVolume ()
float pixelSize (const Vec3 &v, float radius) const
float pixelSize (const BoundingSphere &bs) const
float clampedPixelSize (const Vec3 &v, float radius) const
float clampedPixelSize (const BoundingSphere &bs) const
void disableAndPushOccludersCurrentMask (NodePath &nodePath)
void popOccludersCurrentMask (NodePath &nodePath)
bool isCulled (const std::vector< Vec3 > &vertices)
bool isCulled (const BoundingBox &bb)
bool isCulled (const BoundingSphere &bs)
bool isCulled (const osg::Node &node)
void pushCurrentMask ()
void popCurrentMask ()
CullingStack & getClipSpaceCullingStack ()
CullingStack & getProjectionCullingStack ()
CullingStack & getModelViewCullingStack ()
CullingSet & getCurrentCullingSet ()
const CullingSet & getCurrentCullingSet () const
osg::Viewport * getViewport ()
const osg::Viewport * getViewport () const
osg::RefMatrix * getModelViewMatrix ()
const osg::RefMatrix * getModelViewMatrix () const
osg::RefMatrix * getProjectionMatrix ()
const osg::RefMatrix * getProjectionMatrix () const
osg::Matrix getWindowMatrix () const
const osg::RefMatrix * getMVPW ()
const osg::Vec3 & getReferenceViewPoint () const
void pushReferenceViewPoint (const osg::Vec3 &viewPoint)
void popReferenceViewPoint ()
const osg::Vec3 & getEyeLocal () const
const osg::Vec3 & getViewPointLocal () const
const osg::Vec3 getUpLocal () const
const osg::Vec3 getLookVectorLocal () const
MatrixStack & getProjectionStack ()
const MatrixStack & getProjectionStack () const
MatrixStack & getModelViewStack ()
const MatrixStack & getModelViewStack () const
MatrixStack & getMVPWStack ()
const MatrixStack & getMVPWStack () const
Public Member Functions inherited from osg::CullSettings
 CullSettings ()
 CullSettings (ArgumentParser &arguments)
 CullSettings (const CullSettings &cs)
virtual ~CullSettings ()
CullSettings & operator= (const CullSettings &settings)
virtual void setDefaults ()
void setInheritanceMask (InheritanceMask mask)
InheritanceMask getInheritanceMask () const
void setCullSettings (const CullSettings &settings)
virtual void inheritCullSettings (const CullSettings &settings)
virtual void inheritCullSettings (const CullSettings &settings, unsigned int inheritanceMask)
void readEnvironmentalVariables ()
void readCommandLine (ArgumentParser &arguments)
void setInheritanceMaskActionOnAttributeSetting (InheritanceMaskActionOnAttributeSetting action)
InheritanceMaskActionOnAttributeSetting getInheritanceMaskActionOnAttributeSetting () const
void applyMaskAction (unsigned int maskBit)
void setImpostorsActive (bool active)
bool getImpostorsActive () const
void setImpostorPixelErrorThreshold (float numPixels)
float getImpostorPixelErrorThreshold () const
void setDepthSortImpostorSprites (bool doDepthSort)
bool getDepthSortImpostorSprites () const
void setNumberOfFrameToKeepImpostorSprites (int numFrames)
int getNumberOfFrameToKeepImpostorSprites () const
void setComputeNearFarMode (ComputeNearFarMode cnfm)
ComputeNearFarMode getComputeNearFarMode () const
void setNearFarRatio (double ratio)
double getNearFarRatio () const
void setCullingMode (CullingMode mode)
CullingMode getCullingMode () const
void setCullMask (osg::Node::NodeMask nm)
osg::Node::NodeMask getCullMask () const
void setCullMaskLeft (osg::Node::NodeMask nm)
osg::Node::NodeMask getCullMaskLeft () const
void setCullMaskRight (osg::Node::NodeMask nm)
osg::Node::NodeMask getCullMaskRight () const
void setLODScale (float scale)
float getLODScale () const
void setSmallFeatureCullingPixelSize (float value)
float getSmallFeatureCullingPixelSize () const
void setClampProjectionMatrixCallback (ClampProjectionMatrixCallback *cpmc)
ClampProjectionMatrixCallback * getClampProjectionMatrixCallback ()
const ClampProjectionMatrixCallback * getClampProjectionMatrixCallback () const
void write (std::ostream &out)

Protected Member Functions

CollectOccludersVisitor & operator= (const CollectOccludersVisitor &)
void handle_cull_callbacks_and_traverse (osg::Node &node)
void handle_cull_callbacks_and_accept (osg::Node &node, osg::Node *acceptNode)
Protected Member Functions inherited from osg::Object
virtual ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const
Protected Member Functions inherited from osg::CullStack
void computeFrustumVolume ()
osg::RefMatrix * createOrReuseMatrix (const osg::Matrix &value)

Protected Attributes

float _minimumShadowOccluderVolume
unsigned _maximumNumberOfActiveOccluders
bool _createDrawables
ShadowVolumeOccluderSet _occluderSet
Protected Attributes inherited from osg::NodeVisitor
VisitorType _visitorType
unsigned int _traversalNumber
ref_ptr< FrameStamp > _frameStamp
TraversalMode _traversalMode
Node::NodeMask _traversalMask
Node::NodeMask _nodeMaskOverride
NodePath _nodePath
ref_ptr< DatabaseRequestHandler > _databaseRequestHandler
ref_ptr< ImageRequestHandler > _imageRequestHandler
osg::ref_ptr< ValueMap > _valueMap
osg::ref_ptr< ValueStack > _valueStack
Protected Attributes inherited from osg::Object
std::string _name
DataVariance _dataVariance
osg::UserDataContainer * _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount
Protected Attributes inherited from osg::CullStack
ShadowVolumeOccluderList _occluderList
MatrixStack _projectionStack
MatrixStack _modelviewStack
MatrixStack _MVPW_Stack
ViewportStack _viewportStack
EyePointStack _referenceViewPoints
EyePointStack _eyePointStack
EyePointStack _viewPointStack
CullingStack _clipspaceCullingStack
CullingStack _projectionCullingStack
CullingStack _modelviewCullingStack
unsigned int _index_modelviewCullingStack
CullingSet * _back_modelviewCullingStack
float _frustumVolume
unsigned int _bbCornerNear
unsigned int _bbCornerFar
ref_ptr< osg::RefMatrix > _identity
MatrixList _reuseMatrixList
unsigned int _currentReuseMatrixIndex
Protected Attributes inherited from osg::CullSettings
InheritanceMask _inheritanceMask
InheritanceMaskActionOnAttributeSetting _inheritanceMaskActionOnAttributeSetting
ComputeNearFarMode _computeNearFar
CullingMode _cullingMode
float _LODScale
float _smallFeatureCullingPixelSize
ref_ptr< ClampProjectionMatrixCallback > _clampProjectionMatrixCallback
double _nearFarRatio
bool _impostorActive
bool _depthSortImpostorSprites
float _impostorPixelErrorThreshold
int _numFramesToKeepImpostorSprites
Node::NodeMask _cullMask
Node::NodeMask _cullMaskLeft
Node::NodeMask _cullMaskRight

Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * getGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * getDeleteHandler ()
Protected Types inherited from osg::CullStack
typedef fast_back_stack< ref_ptr< Viewport > > ViewportStack
typedef fast_back_stack< Vec3 > EyePointStack
typedef std::vector< osg::ref_ptr< osg::RefMatrix > > MatrixList

Member Typedef Documentation

◆ ShadowVolumeOccluderSet

Constructor & Destructor Documentation

◆ CollectOccludersVisitor()

osg::CollectOccludersVisitor::CollectOccludersVisitor ( )

Referenced by META_NodeVisitor(), and operator=().

◆ ~CollectOccludersVisitor()

virtual osg::CollectOccludersVisitor::~CollectOccludersVisitor ( )
virtual

Member Function Documentation

◆ apply() [1/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::LOD & node)
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [2/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::Node & )
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [3/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::OccluderNode & node)
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [4/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::Projection & node)
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [5/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::Switch & node)
virtual

Reimplemented from osg::NodeVisitor.

◆ apply() [6/6]

virtual void osg::CollectOccludersVisitor::apply ( osg::Transform & node)
virtual

Reimplemented from osg::NodeVisitor.

◆ getCollectedOccluderSet() [1/2]

ShadowVolumeOccluderSet & osg::CollectOccludersVisitor::getCollectedOccluderSet ( )
inline

References _occluderSet.

◆ getCollectedOccluderSet() [2/2]

const ShadowVolumeOccluderSet & osg::CollectOccludersVisitor::getCollectedOccluderSet ( ) const
inline

References _occluderSet.

◆ getCreateDrawablesOnOccludeNodes()

bool osg::CollectOccludersVisitor::getCreateDrawablesOnOccludeNodes ( ) const
inline

References _createDrawables.

◆ getDistanceFromEyePoint()

virtual float osg::CollectOccludersVisitor::getDistanceFromEyePoint ( const Vec3 & ,
bool  ) const
virtual

Get the distance of a point from the eye point, distance value in the eye coordinate system. Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. If the getDistanceFromEyePoint(pos) is not implemented than a default value of 0.0 is returned.

Reimplemented from osg::NodeVisitor.

◆ getDistanceToEyePoint()

virtual float osg::CollectOccludersVisitor::getDistanceToEyePoint ( const Vec3 & ,
bool  ) const
virtual

Get the distance from a point to the eye point, distance value in local coordinate system. Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. If the getDistanceFromEyePoint(pos) is not implemented then a default value of 0.0 is returned.

Reimplemented from osg::NodeVisitor.

◆ getDistanceToViewPoint()

virtual float osg::CollectOccludersVisitor::getDistanceToViewPoint ( const Vec3 & ,
bool  ) const
virtual

Get the distance from a point to the view point, distance value in local coordinate system. Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. If the getDistanceToViewPoint(pos) is not implemented then a default value of 0.0 is returned.

Reimplemented from osg::NodeVisitor.

◆ getMaximumNumberOfActiveOccluders()

unsigned int osg::CollectOccludersVisitor::getMaximumNumberOfActiveOccluders ( ) const
inline

◆ getMinimumShadowOccluderVolume()

float osg::CollectOccludersVisitor::getMinimumShadowOccluderVolume ( ) const
inline

◆ handle_cull_callbacks_and_accept()

void osg::CollectOccludersVisitor::handle_cull_callbacks_and_accept ( osg::Node & node,
osg::Node * acceptNode )
inlineprotected

◆ handle_cull_callbacks_and_traverse()

void osg::CollectOccludersVisitor::handle_cull_callbacks_and_traverse ( osg::Node & node)
inlineprotected

◆ META_NodeVisitor()

osg::CollectOccludersVisitor::META_NodeVisitor ( osg ,
CollectOccludersVisitor  ) const
inline

◆ operator=()

CollectOccludersVisitor & osg::CollectOccludersVisitor::operator= ( const CollectOccludersVisitor & )
inlineprotected

Prevents unwanted copy construction. Prevents unwanted copy operator.

References CollectOccludersVisitor().

◆ removeOccludedOccluders()

void osg::CollectOccludersVisitor::removeOccludedOccluders ( )

Removes occluded occluders for the collected occluders list, then discards all but MaximumNumberOfActiveOccluders of occluders, discarding the occluders with the lowest shadow occluder volume.

◆ reset()

virtual void osg::CollectOccludersVisitor::reset ( )
virtual

Method to call to reset visitor. Useful if your visitor accumulates state during a traversal, and you plan to reuse the visitor. To flush that state for the next traversal: call reset() prior to each traversal.

Reimplemented from osg::NodeVisitor.

◆ setCollectedOccluderSet()

void osg::CollectOccludersVisitor::setCollectedOccluderSet ( const ShadowVolumeOccluderSet & svol)
inline

References _occluderSet.

◆ setCreateDrawablesOnOccludeNodes()

void osg::CollectOccludersVisitor::setCreateDrawablesOnOccludeNodes ( bool flag)
inline

References _createDrawables.

◆ setMaximumNumberOfActiveOccluders()

void osg::CollectOccludersVisitor::setMaximumNumberOfActiveOccluders ( unsigned int num)
inline

Sets the maximum number of occluders to have active for culling purposes.

References _maximumNumberOfActiveOccluders.

◆ setMinimumShadowOccluderVolume()

void osg::CollectOccludersVisitor::setMinimumShadowOccluderVolume ( float vol)
inline

Sets the minimum shadow occluder volume that an active occluder must have. vol is units relative the clip space volume where 1.0 is the whole clip space.

References _minimumShadowOccluderVolume.

Member Data Documentation

◆ _createDrawables

bool osg::CollectOccludersVisitor::_createDrawables
protected

◆ _maximumNumberOfActiveOccluders

unsigned osg::CollectOccludersVisitor::_maximumNumberOfActiveOccluders
protected

◆ _minimumShadowOccluderVolume

float osg::CollectOccludersVisitor::_minimumShadowOccluderVolume
protected

◆ _occluderSet

ShadowVolumeOccluderSet osg::CollectOccludersVisitor::_occluderSet
protected

The documentation for this class was generated from the following file: