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 Mon Feb 6 16:33:32 2006 for openscenegraph by  doxygen 1.4.6