OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
osg::ShadowVolumeOccluder Class Reference

#include <ShadowVolumeOccluder.h>

Collaboration diagram for osg::ShadowVolumeOccluder:
Collaboration graph
[legend]

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 implementing shadow occlusion culling.

Definition at line 26 of file ShadowVolumeOccluder.h.

Member Typedef Documentation

Definition at line 32 of file ShadowVolumeOccluder.h.

Constructor & Destructor Documentation

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

Definition at line 34 of file ShadowVolumeOccluder.h.

osg::ShadowVolumeOccluder::ShadowVolumeOccluder ( )
inline

Definition at line 41 of file ShadowVolumeOccluder.h.

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 std::vector< Vec3 > &  vertices)

return true if the specified vertex list 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 BoundingBox bound)

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

void osg::ShadowVolumeOccluder::disableResultMasks ( )
inline

Definition at line 128 of file ShadowVolumeOccluder.h.

Here is the call graph for this function:

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

return the list of holes.

Definition at line 84 of file ShadowVolumeOccluder.h.

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

return the const list of holes.

Definition at line 87 of file ShadowVolumeOccluder.h.

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

Definition at line 69 of file ShadowVolumeOccluder.h.

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

Definition at line 70 of file ShadowVolumeOccluder.h.

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

return the occluder polytope.

Definition at line 78 of file ShadowVolumeOccluder.h.

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

return the const occluder polytope.

Definition at line 81 of file ShadowVolumeOccluder.h.

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.

Definition at line 75 of file ShadowVolumeOccluder.h.

Here is the caller graph for this function:

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.

Definition at line 59 of file ShadowVolumeOccluder.h.

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

Definition at line 45 of file ShadowVolumeOccluder.h.

Here is the call graph for this function:

void osg::ShadowVolumeOccluder::popCurrentMask ( )
inline

Definition at line 155 of file ShadowVolumeOccluder.h.

Here is the call graph for this function:

void osg::ShadowVolumeOccluder::pushCurrentMask ( )
inline

Definition at line 140 of file ShadowVolumeOccluder.h.

Here is the call graph for this function:

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

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

Definition at line 68 of file ShadowVolumeOccluder.h.

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

Definition at line 102 of file ShadowVolumeOccluder.h.

Member Data Documentation

HoleList osg::ShadowVolumeOccluder::_holeList
protected

Definition at line 120 of file ShadowVolumeOccluder.h.

NodePath osg::ShadowVolumeOccluder::_nodePath
protected

Definition at line 117 of file ShadowVolumeOccluder.h.

Polytope osg::ShadowVolumeOccluder::_occluderVolume
protected

Definition at line 119 of file ShadowVolumeOccluder.h.

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

Definition at line 118 of file ShadowVolumeOccluder.h.

float osg::ShadowVolumeOccluder::_volume
protected

Definition at line 116 of file ShadowVolumeOccluder.h.


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