class SG_EXPORT osg::CollectOccludersVisitor


Inheritance:


Public Methods

[more] CollectOccludersVisitor()
[more]virtual ~CollectOccludersVisitor()
[more]virtual CollectOccludersVisitor* cloneType() const
[more]virtual void reset()
[more]virtual float getDistanceToEyePoint(const Vec3& pos, bool withLODScale) const
[more]virtual float getDistanceFromEyePoint(const Vec3& pos, bool withLODScale) const
[more]virtual void apply(osg::Node&)
[more]virtual void apply(osg::Transform& node)
[more]virtual void apply(osg::Projection& node)
[more]virtual void apply(osg::Switch& node)
[more]virtual void apply(osg::LOD& node)
[more]virtual void apply(osg::OccluderNode& node)
[more]void setMinimumShadowOccluderVolume(float vol)
Set the minimum shadow occluder volume that an active occluder must have.
[more]float getMinimumShadowOccluderVolume() const
[more]void setMaximumNumberOfActiveOccluders(unsigned int num)
Set the maximum number of occluders to have active for culling purposes
[more]unsigned int getMaximumNumberOfActiveOccluders() const
[more]void setCreateDrawablesOnOccludeNodes(bool flag)
[more]bool getCreateDrawablesOnOccludeNodes() const
[more]void setCollectedOcculderList(const ShadowVolumeOccluderSet& svol)
[more]ShadowVolumeOccluderSet& getCollectedOccluderSet()
[more]const ShadowVolumeOccluderSet& getCollectedOccluderSet() const
[more]void removeOccludedOccluders()
remove occluded occluders for the collected occluders list, and then discard of all but MaximumNumberOfActiveOccluders of occluders, discarding the occluders with the lowests shadow occluder volume
[more]CollectOccludersVisitor& operator = (const CollectOccludersVisitor&)
prevent unwanted copy operator

Public

[more]typedef std::set<ShadowVolumeOccluder> ShadowVolumeOccluderSet

Protected Fields

[more]float _minimumShadowOccluderVolume
[more]unsigned _maximumNumberOfActiveOccluders
[more]bool _createDrawables
[more]ShadowVolumeOccluderSet _occluderSet

Protected Methods

[more]inline void handle_cull_callbacks_and_traverse(osg::Node& node)
[more]inline void handle_cull_callbacks_and_accept(osg::Node& node, osg::Node* acceptNode)

Protected

[more] prevent unwanted copy construction


Inherited from NodeVisitor:

Public Classes

oenum TraversalMode
oenum VisitorType
class DatabaseRequestHandler: public osg::Referenced
callback for managing database paging, such as generated by PagedLOD nodes

Public Methods

oinline void setVisitorType(VisitorType type)
oinline VisitorType getVisitorType() const
oinline void setTraversalNumber(int fn)
oinline int getTraversalNumber() const
oinline void setFrameStamp(FrameStamp* fs)
oinline const FrameStamp* getFrameStamp() const
oinline void setTraversalMask(Node::NodeMask mask)
oinline Node::NodeMask getTraversalMask() const
oinline void setNodeMaskOverride(Node::NodeMask mask)
oinline Node::NodeMask getNodeMaskOverride() const
oinline bool validNodeMask(const osg::Node& node) const
oinline void setTraversalMode(TraversalMode mode)
oinline TraversalMode getTraversalMode() const
oinline void setUserData(Referenced* obj)
oinline Referenced* getUserData()
oinline const Referenced* getUserData() const
oinline void traverse(Node& node)
oinline void pushOntoNodePath(Node* node)
oinline void popFromNodePath()
oNodePath& getNodePath()
oconst NodePath& getNodePath() const
ovirtual osg::Vec3 getEyePoint() const
ovoid setDatabaseRequestHandler(DatabaseRequestHandler* handler)
oDatabaseRequestHandler* getDatabaseRequestHandler()
oconst DatabaseRequestHandler* getDatabaseRequestHandler() const

Protected Fields

oVisitorType _visitorType
oint _traversalNumber
oref_ptr<FrameStamp> _frameStamp
oTraversalMode _traversalMode
oNode::NodeMask _traversalMask
oNode::NodeMask _nodeMaskOverride
oNodePath _nodePath
oref_ptr<Referenced> _userData
oref_ptr<DatabaseRequestHandler> _databaseRequestHandler


Inherited from Referenced:

Public Methods

ostatic void setDeleteHandler(DeleteHandler* handler)
ostatic DeleteHandler* getDeleteHandler()
oinline void ref() const
oinline void unref_nodelete() const
oinline int referenceCount() const
oinline void unref() const

Protected Fields

omutable OpenThreads::Mutex _refMutex
omutable int _refCount


Inherited from CullStack:

Public Methods

ovoid setOccluderList(const ShadowVolumeOccluderList& svol)
oShadowVolumeOccluderList& getOccluderList()
oconst ShadowVolumeOccluderList& getOccluderList() const
ovoid pushViewport(osg::Viewport* viewport)
ovoid popViewport()
ovoid pushProjectionMatrix(osg::RefMatrix* matrix)
ovoid popProjectionMatrix()
ovoid pushModelViewMatrix(osg::RefMatrix* matrix)
ovoid popModelViewMatrix()
oinline float getFrustumVolume()
ofloat pixelSize(const Vec3& v, float radius) const
ofloat pixelSize(const BoundingSphere& bs) const
oinline void disableAndPushOccludersCurrentMask(NodePath& nodePath)
oinline void popOccludersCurrentMask(NodePath& nodePath)
oinline bool isCulled(const std::vector<Vec3>& vertices)
oinline bool isCulled(const BoundingBox& bb)
oinline bool isCulled(const BoundingSphere& bs)
oinline bool isCulled(const osg::Node& node)
oinline void pushCurrentMask()
oinline void popCurrentMask()
oinline CullingStack& getClipSpaceCullingStack()
oinline CullingStack& getProjectionCullingStack()
oinline CullingStack& getModelViewCullingStack()
oinline CullingSet& getCurrentCullingSet()
oinline const CullingSet& getCurrentCullingSet() const
oinline osg::Viewport* getViewport()
oinline osg::RefMatrix& getModelViewMatrix()
oinline osg::RefMatrix& getProjectionMatrix()
oinline osg::Matrix getWindowMatrix()
oinline const osg::RefMatrix& getMVPW()
oinline const osg::Vec3& getEyeLocal() const
oinline const osg::Vec3 getUpLocal() const
oinline const osg::Vec3 getLookVectorLocal() const
oinline Viewport* getViewport()
oinline RefMatrix& getModelViewMatrix()
oinline RefMatrix& getProjectionMatrix()
oinline Matrix getWindowMatrix()
oinline const RefMatrix& getMVPW()
oinline RefMatrix* createOrReuseMatrix(const osg::Matrix& value)

Public

otypedef std::vector<ShadowVolumeOccluder> OccluderList
otypedef std::vector< CullingSet > CullingStack

Protected Fields

oShadowVolumeOccluderList _occluderList
oMatrixStack _projectionStack
oMatrixStack _modelviewStack
oMatrixStack _MVPW_Stack
oViewportStack _viewportStack
oEyePointStack _eyePointStack
oCullingStack _clipspaceCullingStack
oCullingStack _projectionCullingStack
oCullingStack _modelviewCullingStack
ounsigned int _index_modelviewCullingStack
oCullingSet* _back_modelviewCullingStack
ofloat _frustumVolume
ounsigned int _bbCornerNear
ounsigned int _bbCornerFar
oref_ptr<osg::RefMatrix> _identity
oMatrixList _reuseMatrixList
ounsigned int _currentReuseMatrixIndex

Protected Methods

ovoid pushCullingSet()
ovoid popCullingSet()
ovoid computeFrustumVolume()
oinline osg::RefMatrix* createOrReuseMatrix(const osg::Matrix& value)

Protected

otypedef fast_back_stack< ref_ptr<RefMatrix> > MatrixStack
otypedef fast_back_stack<ref_ptr<Viewport> > ViewportStack
otypedef fast_back_stack<Vec3> EyePointStack
otypedef std::vector< osg::ref_ptr<osg::RefMatrix> > MatrixList


Inherited from CullSettings:

Public Classes

oenum ComputeNearFarMode
oenum CullingModeValues
ostruct ClampProjectionMatrixCallback: public osg::Referenced

Public Methods

ovoid setCullSettings(const CullSettings& settings)
ovoid setDefaults()
ovoid readEnvironmentalVariables()
ovoid readCommandLine(ArgumentParser& arguments)
ovoid setImpostorsActive(bool active)
obool getImpostorsActive() const
ovoid setImpostorPixelErrorThreshold(float numPixels)
ofloat getImpostorPixelErrorThreshold() const
ovoid setDepthSortImpostorSprites(bool doDepthSort)
obool setDepthSortImpostorSprites() const
ovoid setNumberOfFrameToKeepImpostorSprites(int numFrames)
oint getNumberOfFrameToKeepImpostorSprites() const
ovoid setComputeNearFarMode(ComputeNearFarMode cnfm)
oComputeNearFarMode getComputeNearFarMode() const
ovoid setNearFarRatio(double ratio)
odouble getNearFarRatio() const
ovoid setCullingMode(CullingMode mode)
oCullingMode getCullingMode() const
ovoid setCullMask(const osg::Node::NodeMask nm)
oosg::Node::NodeMask getCullMask() const
ovoid setCullMaskLeft(const osg::Node::NodeMask nm)
oosg::Node::NodeMask getCullMaskLeft() const
ovoid setCullMaskRight(const osg::Node::NodeMask nm)
oosg::Node::NodeMask getCullMaskRight() const
ovoid setLODScale(float bias)
ofloat getLODScale() const
ovoid setSmallFeatureCullingPixelSize(float value)
ofloat getSmallFeatureCullingPixelSize() const
ovoid setClampProjectionMatrixCallback(ClampProjectionMatrixCallback* cpmc)
oClampProjectionMatrixCallback* getClampProjectionMatrixCallback()
oconst ClampProjectionMatrixCallback* getClampProjectionMatrixCallback() const

Public

otypedef unsigned int CullingMode

Protected Fields

oComputeNearFarMode _computeNearFar
oCullingMode _cullingMode
ofloat _LODScale
ofloat _smallFeatureCullingPixelSize
oref_ptr<ClampProjectionMatrixCallback> _clampProjectionMatrixCallback
odouble _nearFarRatio
obool _impostorActive
obool _depthSortImpostorSprites
ofloat _impostorPixelErrorThreshold
oint _numFramesToKeepImpostorSprites
oNode::NodeMask _cullMask
oNode::NodeMask _cullMaskLeft
oNode::NodeMask _cullMaskRight


Documentation

otypedef std::set<ShadowVolumeOccluder> ShadowVolumeOccluderSet

o CollectOccludersVisitor()

ovirtual ~CollectOccludersVisitor()

ovirtual CollectOccludersVisitor* cloneType() const

ovirtual void reset()

ovirtual float getDistanceToEyePoint(const Vec3& pos, bool withLODScale) const

ovirtual float getDistanceFromEyePoint(const Vec3& pos, bool withLODScale) const

ovirtual void apply(osg::Node&)

ovirtual void apply(osg::Transform& node)

ovirtual void apply(osg::Projection& node)

ovirtual void apply(osg::Switch& node)

ovirtual void apply(osg::LOD& node)

ovirtual void apply(osg::OccluderNode& node)

ovoid setMinimumShadowOccluderVolume(float vol)
Set the minimum shadow occluder volume that an active occluder must have. volume is units relative the clip space volume where 1.0 is the whole clip space.

ofloat getMinimumShadowOccluderVolume() const

ovoid setMaximumNumberOfActiveOccluders(unsigned int num)
Set the maximum number of occluders to have active for culling purposes

ounsigned int getMaximumNumberOfActiveOccluders() const

ovoid setCreateDrawablesOnOccludeNodes(bool flag)

obool getCreateDrawablesOnOccludeNodes() const

ovoid setCollectedOcculderList(const ShadowVolumeOccluderSet& svol)

oShadowVolumeOccluderSet& getCollectedOccluderSet()

oconst ShadowVolumeOccluderSet& getCollectedOccluderSet() const

ovoid removeOccludedOccluders()
remove occluded occluders for the collected occluders list, and then discard of all but MaximumNumberOfActiveOccluders of occluders, discarding the occluders with the lowests shadow occluder volume

o prevent unwanted copy construction
prevent unwanted copy construction

oCollectOccludersVisitor& operator = (const CollectOccludersVisitor&)
prevent unwanted copy operator

oinline void handle_cull_callbacks_and_traverse(osg::Node& node)

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

ofloat _minimumShadowOccluderVolume

ounsigned _maximumNumberOfActiveOccluders

obool _createDrawables

oShadowVolumeOccluderSet _occluderSet


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.