Inheritance:
Public Methods
-
CollectOccludersVisitor()
-
virtual ~CollectOccludersVisitor()
-
virtual CollectOccludersVisitor* cloneType() const
-
virtual void reset()
-
virtual float getDistanceToEyePoint(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)
- Set the minimum shadow occluder volume that an active occluder must have.
-
float getMinimumShadowOccluderVolume() const
-
void setMaximumNumberOfActiveOccluders(unsigned int num)
- Set the maximum number of occluders to have active for culling purposes
-
unsigned int getMaximumNumberOfActiveOccluders() const
-
void setCreateDrawablesOnOccludeNodes(bool flag)
-
bool getCreateDrawablesOnOccludeNodes() const
-
void setCollectedOcculderList(const ShadowVolumeOccluderSet& svol)
-
ShadowVolumeOccluderSet& getCollectedOccluderSet()
-
const ShadowVolumeOccluderSet& getCollectedOccluderSet() const
-
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
-
CollectOccludersVisitor& operator = (const CollectOccludersVisitor&)
- prevent unwanted copy operator
Public
-
typedef std::set<ShadowVolumeOccluder> ShadowVolumeOccluderSet
Protected Fields
-
float _minimumShadowOccluderVolume
-
unsigned _maximumNumberOfActiveOccluders
-
bool _createDrawables
-
ShadowVolumeOccluderSet _occluderSet
Protected Methods
-
inline void handle_cull_callbacks_and_traverse(osg::Node& node)
-
inline void handle_cull_callbacks_and_accept(osg::Node& node, osg::Node* acceptNode)
Protected
-
prevent unwanted copy construction
Public Classes
-
enum TraversalMode
-
enum VisitorType
-
class DatabaseRequestHandler: public osg::Referenced
- callback for managing database paging, such as generated by PagedLOD nodes
Public Methods
-
inline void setVisitorType(VisitorType type)
-
inline VisitorType getVisitorType() const
-
inline void setTraversalNumber(int fn)
-
inline int getTraversalNumber() const
-
inline void setFrameStamp(FrameStamp* fs)
-
inline const FrameStamp* getFrameStamp() const
-
inline void setTraversalMask(Node::NodeMask mask)
-
inline Node::NodeMask getTraversalMask() const
-
inline void setNodeMaskOverride(Node::NodeMask mask)
-
inline Node::NodeMask getNodeMaskOverride() const
-
inline bool validNodeMask(const osg::Node& node) const
-
inline void setTraversalMode(TraversalMode mode)
-
inline TraversalMode getTraversalMode() const
-
inline void setUserData(Referenced* obj)
-
inline Referenced* getUserData()
-
inline const Referenced* getUserData() const
-
inline void traverse(Node& node)
-
inline void pushOntoNodePath(Node* node)
-
inline void popFromNodePath()
-
NodePath& getNodePath()
-
const NodePath& getNodePath() const
-
virtual osg::Vec3 getEyePoint() const
-
void setDatabaseRequestHandler(DatabaseRequestHandler* handler)
-
DatabaseRequestHandler* getDatabaseRequestHandler()
-
const DatabaseRequestHandler* getDatabaseRequestHandler() const
Protected Fields
-
VisitorType _visitorType
-
int _traversalNumber
-
ref_ptr<FrameStamp> _frameStamp
-
TraversalMode _traversalMode
-
Node::NodeMask _traversalMask
-
Node::NodeMask _nodeMaskOverride
-
NodePath _nodePath
-
ref_ptr<Referenced> _userData
-
ref_ptr<DatabaseRequestHandler> _databaseRequestHandler
Public Methods
-
static void setDeleteHandler(DeleteHandler* handler)
-
static DeleteHandler* getDeleteHandler()
-
inline void ref() const
-
inline void unref_nodelete() const
-
inline int referenceCount() const
-
inline void unref() const
Protected Fields
-
mutable OpenThreads::Mutex _refMutex
-
mutable int _refCount
Public Methods
-
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)
-
void popModelViewMatrix()
-
inline float getFrustumVolume()
-
float pixelSize(const Vec3& v, float radius) const
-
float pixelSize(const BoundingSphere& bs) const
-
inline void disableAndPushOccludersCurrentMask(NodePath& nodePath)
-
inline void popOccludersCurrentMask(NodePath& nodePath)
-
inline bool isCulled(const std::vector<Vec3>& vertices)
-
inline bool isCulled(const BoundingBox& bb)
-
inline bool isCulled(const BoundingSphere& bs)
-
inline bool isCulled(const osg::Node& node)
-
inline void pushCurrentMask()
-
inline void popCurrentMask()
-
inline CullingStack& getClipSpaceCullingStack()
-
inline CullingStack& getProjectionCullingStack()
-
inline CullingStack& getModelViewCullingStack()
-
inline CullingSet& getCurrentCullingSet()
-
inline const CullingSet& getCurrentCullingSet() const
-
inline osg::Viewport* getViewport()
-
inline osg::RefMatrix& getModelViewMatrix()
-
inline osg::RefMatrix& getProjectionMatrix()
-
inline osg::Matrix getWindowMatrix()
-
inline const osg::RefMatrix& getMVPW()
-
inline const osg::Vec3& getEyeLocal() const
-
inline const osg::Vec3 getUpLocal() const
-
inline const osg::Vec3 getLookVectorLocal() const
-
inline Viewport* getViewport()
-
inline RefMatrix& getModelViewMatrix()
-
inline RefMatrix& getProjectionMatrix()
-
inline Matrix getWindowMatrix()
-
inline const RefMatrix& getMVPW()
-
inline RefMatrix* createOrReuseMatrix(const osg::Matrix& value)
Public
-
typedef std::vector<ShadowVolumeOccluder> OccluderList
-
typedef std::vector< CullingSet > CullingStack
Protected Fields
-
ShadowVolumeOccluderList _occluderList
-
MatrixStack _projectionStack
-
MatrixStack _modelviewStack
-
MatrixStack _MVPW_Stack
-
ViewportStack _viewportStack
-
EyePointStack _eyePointStack
-
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 Methods
-
void pushCullingSet()
-
void popCullingSet()
-
void computeFrustumVolume()
-
inline osg::RefMatrix* createOrReuseMatrix(const osg::Matrix& value)
Protected
-
typedef fast_back_stack< ref_ptr<RefMatrix> > MatrixStack
-
typedef fast_back_stack<ref_ptr<Viewport> > ViewportStack
-
typedef fast_back_stack<Vec3> EyePointStack
-
typedef std::vector< osg::ref_ptr<osg::RefMatrix> > MatrixList
Public Classes
-
enum ComputeNearFarMode
-
enum CullingModeValues
-
struct ClampProjectionMatrixCallback: public osg::Referenced
Public Methods
-
void setCullSettings(const CullSettings& settings)
-
void setDefaults()
-
void readEnvironmentalVariables()
-
void readCommandLine(ArgumentParser& arguments)
-
void setImpostorsActive(bool active)
-
bool getImpostorsActive() const
-
void setImpostorPixelErrorThreshold(float numPixels)
-
float getImpostorPixelErrorThreshold() const
-
void setDepthSortImpostorSprites(bool doDepthSort)
-
bool setDepthSortImpostorSprites() 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(const osg::Node::NodeMask nm)
-
osg::Node::NodeMask getCullMask() const
-
void setCullMaskLeft(const osg::Node::NodeMask nm)
-
osg::Node::NodeMask getCullMaskLeft() const
-
void setCullMaskRight(const osg::Node::NodeMask nm)
-
osg::Node::NodeMask getCullMaskRight() const
-
void setLODScale(float bias)
-
float getLODScale() const
-
void setSmallFeatureCullingPixelSize(float value)
-
float getSmallFeatureCullingPixelSize() const
-
void setClampProjectionMatrixCallback(ClampProjectionMatrixCallback* cpmc)
-
ClampProjectionMatrixCallback* getClampProjectionMatrixCallback()
-
const ClampProjectionMatrixCallback* getClampProjectionMatrixCallback() const
Public
-
typedef unsigned int CullingMode
Protected Fields
-
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
Documentation
typedef std::set<ShadowVolumeOccluder> ShadowVolumeOccluderSet
CollectOccludersVisitor()
virtual ~CollectOccludersVisitor()
virtual CollectOccludersVisitor* cloneType() const
virtual void reset()
virtual float getDistanceToEyePoint(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)
- 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.
float getMinimumShadowOccluderVolume() const
void setMaximumNumberOfActiveOccluders(unsigned int num)
- Set the maximum number of occluders to have active for culling purposes
unsigned int getMaximumNumberOfActiveOccluders() const
void setCreateDrawablesOnOccludeNodes(bool flag)
bool getCreateDrawablesOnOccludeNodes() const
void setCollectedOcculderList(const ShadowVolumeOccluderSet& svol)
ShadowVolumeOccluderSet& getCollectedOccluderSet()
const ShadowVolumeOccluderSet& getCollectedOccluderSet() const
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
prevent unwanted copy construction
- prevent unwanted copy construction
CollectOccludersVisitor& operator = (const CollectOccludersVisitor&)
- prevent unwanted copy operator
inline void handle_cull_callbacks_and_traverse(osg::Node& node)
inline void handle_cull_callbacks_and_accept(osg::Node& node, osg::Node* acceptNode)
float _minimumShadowOccluderVolume
unsigned _maximumNumberOfActiveOccluders
bool _createDrawables
ShadowVolumeOccluderSet _occluderSet
- This class has no child classes.
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.