osg::ShadowVolumeOccluder Class Reference

List of all members.

Public Types

typedef std::vector< PolytopeHoleList

Public Member Functions

 ShadowVolumeOccluder (const ShadowVolumeOccluder &svo)
 ShadowVolumeOccluder ()
bool operator< (const ShadowVolumeOccluder &svo) const
bool computeOccluder (const NodePath &nodePath, const ConvexPlanarOccluder &occluder, CullStack &cullStack, bool createDrawables=false)
void disableResultMasks ()
void pushCurrentMask ()
void popCurrentMask ()
bool matchProjectionMatrix (const osg::Matrix &matrix) const
void setNodePath (NodePath &nodePath)
NodePathgetNodePath ()
const NodePathgetNodePath () const
float getVolume () const
PolytopegetOccluder ()
const PolytopegetOccluder () const
HoleListgetHoleList ()
const HoleListgetHoleList () const
bool contains (const std::vector< Vec3 > &vertices)
bool contains (const BoundingSphere &bound)
bool contains (const BoundingBox &bound)
void transformProvidingInverse (const osg::Matrix &matrix)

Protected Attributes

float _volume
NodePath _nodePath
ref_ptr< const RefMatrix_projectionMatrix
Polytope _occluderVolume
HoleList _holeList

Detailed Description

ShadowVolumeOccluder is a helper class for implementating shadow occlusion culling.


Member Typedef Documentation

typedef std::vector<Polytope> osg::ShadowVolumeOccluder::HoleList


Constructor & Destructor Documentation

osg::ShadowVolumeOccluder::ShadowVolumeOccluder ( const ShadowVolumeOccluder svo  )  [inline]

osg::ShadowVolumeOccluder::ShadowVolumeOccluder (  )  [inline]


Member Function Documentation

bool osg::ShadowVolumeOccluder::computeOccluder ( const NodePath nodePath,
const ConvexPlanarOccluder occluder,
CullStack cullStack,
bool  createDrawables = false 
)

compute the shadow volume occluder.

bool osg::ShadowVolumeOccluder::contains ( const BoundingBox bound  ) 

return true if the specified bounding box is contained entirely within this shadow occluder volume.

bool osg::ShadowVolumeOccluder::contains ( const BoundingSphere bound  ) 

return true if the specified bounding sphere is contained entirely within this shadow occluder volume.

bool osg::ShadowVolumeOccluder::contains ( const std::vector< Vec3 > &  vertices  ) 

return true if the specified vertex list is contained entirely within this shadow occluder volume.

void osg::ShadowVolumeOccluder::disableResultMasks (  )  [inline]

const HoleList& osg::ShadowVolumeOccluder::getHoleList (  )  const [inline]

return the const list of holes.

HoleList& osg::ShadowVolumeOccluder::getHoleList (  )  [inline]

return the list of holes.

const NodePath& osg::ShadowVolumeOccluder::getNodePath (  )  const [inline]

NodePath& osg::ShadowVolumeOccluder::getNodePath (  )  [inline]

const Polytope& osg::ShadowVolumeOccluder::getOccluder (  )  const [inline]

return the const occluder polytope.

Polytope& osg::ShadowVolumeOccluder::getOccluder (  )  [inline]

return the occluder polytope.

float osg::ShadowVolumeOccluder::getVolume (  )  const [inline]

get the volume of the occluder minus its holes, in eye coords, the volume is normalized by dividing by the volume of the view frustum in eye coords.

bool osg::ShadowVolumeOccluder::matchProjectionMatrix ( const osg::Matrix matrix  )  const [inline]

return true if the matrix passed in matches the projection matrix that this ShadowVolumeOccluder is associated with.

bool osg::ShadowVolumeOccluder::operator< ( const ShadowVolumeOccluder svo  )  const [inline]

void osg::ShadowVolumeOccluder::popCurrentMask (  )  [inline]

void osg::ShadowVolumeOccluder::pushCurrentMask (  )  [inline]

void osg::ShadowVolumeOccluder::setNodePath ( NodePath nodePath  )  [inline]

Set the NodePath which describes which node in the scene graph that this occluder is attached to.

void osg::ShadowVolumeOccluder::transformProvidingInverse ( const osg::Matrix matrix  )  [inline]


Member Data Documentation

HoleList osg::ShadowVolumeOccluder::_holeList [protected]

NodePath osg::ShadowVolumeOccluder::_nodePath [protected]

Polytope osg::ShadowVolumeOccluder::_occluderVolume [protected]

ref_ptr<const RefMatrix> osg::ShadowVolumeOccluder::_projectionMatrix [protected]

float osg::ShadowVolumeOccluder::_volume [protected]


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:07 2006 for openscenegraph by  doxygen 1.4.7