Public Types | |
typedef std::vector < Polytope > | HoleList |
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) |
compute the shadow volume occluder. | |
void | disableResultMasks () |
void | pushCurrentMask () |
void | popCurrentMask () |
bool | matchProjectionMatrix (const osg::Matrix &matrix) const |
return true if the matrix passed in matches the projection matrix that this ShadowVolumeOccluder is associated with. | |
void | setNodePath (NodePath &nodePath) |
Set the NodePath which describes which node in the scene graph that this occluder is attached to. | |
NodePath & | getNodePath () |
const NodePath & | getNodePath () const |
float | getVolume () const |
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. | |
Polytope & | getOccluder () |
return the occluder polytope. | |
const Polytope & | getOccluder () const |
return the const occluder polytope. | |
HoleList & | getHoleList () |
return the list of holes. | |
const HoleList & | getHoleList () const |
return the const list of holes. | |
bool | contains (const std::vector< Vec3 > &vertices) |
return true if the specified vertex list is contained entirely within this shadow occluder volume. | |
bool | contains (const BoundingSphere &bound) |
return true if the specified bounding sphere is contained entirely within this shadow occluder volume. | |
bool | contains (const BoundingBox &bound) |
return true if the specified bounding box is contained entirely within this shadow occluder volume. | |
void | transformProvidingInverse (const osg::Matrix &matrix) |
Protected Attributes | |
float | _volume |
NodePath | _nodePath |
ref_ptr< const RefMatrix > | _projectionMatrix |
Polytope | _occluderVolume |
HoleList | _holeList |
typedef std::vector<Polytope> osg::ShadowVolumeOccluder::HoleList |
osg::ShadowVolumeOccluder::ShadowVolumeOccluder | ( | const ShadowVolumeOccluder & | svo | ) | [inline] |
osg::ShadowVolumeOccluder::ShadowVolumeOccluder | ( | ) | [inline] |
bool osg::ShadowVolumeOccluder::operator< | ( | const ShadowVolumeOccluder & | svo | ) | const [inline] |
bool osg::ShadowVolumeOccluder::computeOccluder | ( | const NodePath & | nodePath, | |
const ConvexPlanarOccluder & | occluder, | |||
CullStack & | cullStack, | |||
bool | createDrawables = false | |||
) |
compute the shadow volume occluder.
void osg::ShadowVolumeOccluder::disableResultMasks | ( | ) | [inline] |
void osg::ShadowVolumeOccluder::pushCurrentMask | ( | ) | [inline] |
void osg::ShadowVolumeOccluder::popCurrentMask | ( | ) | [inline] |
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.
void osg::ShadowVolumeOccluder::setNodePath | ( | NodePath & | nodePath | ) | [inline] |
Set the NodePath which describes which node in the scene graph that this occluder is attached to.
NodePath& osg::ShadowVolumeOccluder::getNodePath | ( | ) | [inline] |
const NodePath& osg::ShadowVolumeOccluder::getNodePath | ( | ) | const [inline] |
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.
Polytope& osg::ShadowVolumeOccluder::getOccluder | ( | ) | [inline] |
return the occluder polytope.
const Polytope& osg::ShadowVolumeOccluder::getOccluder | ( | ) | const [inline] |
return the const occluder polytope.
HoleList& osg::ShadowVolumeOccluder::getHoleList | ( | ) | [inline] |
return the list of holes.
const HoleList& osg::ShadowVolumeOccluder::getHoleList | ( | ) | const [inline] |
return the const list of holes.
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::transformProvidingInverse | ( | const osg::Matrix & | matrix | ) | [inline] |
float osg::ShadowVolumeOccluder::_volume [protected] |
NodePath osg::ShadowVolumeOccluder::_nodePath [protected] |
ref_ptr<const RefMatrix> osg::ShadowVolumeOccluder::_projectionMatrix [protected] |
Polytope osg::ShadowVolumeOccluder::_occluderVolume [protected] |
HoleList osg::ShadowVolumeOccluder::_holeList [protected] |