14#ifndef OSG_SHADOWVOLUMEOCCLUDER
15#define OSG_SHADOWVOLUMEOCCLUDER 1
92 bool contains(
const std::vector<Vec3>& vertices);
105 for(HoleList::iterator itr=
_holeList.begin();
109 itr->transformProvidingInverse(matrix);
132 for(HoleList::iterator itr=
_holeList.begin();
136 itr->setResultMask(0);
146 for(HoleList::iterator itr=
_holeList.begin();
150 itr->pushCurrentMask();
160 for(HoleList::iterator itr=
_holeList.begin();
164 itr->popCurrentMask();
The core osg library provides the basic scene graph classes such as Nodes, State and Drawables,...
Definition AlphaFunc:19
BoundingBoxd BoundingBox
Definition BoundingBox:257
BoundingSphered BoundingSphere
Definition BoundingSphere:308
Matrixd Matrix
Definition Matrix:27
std::vector< Node * > NodePath
A vector of Nodes pointers which is used to describe the path from a root node to a descendant.
Definition Node:47
std::vector< ShadowVolumeOccluder > ShadowVolumeOccluderList
A list of ShadowVolumeOccluder, used by CollectOccluderVisitor and CullVistor's.
Definition ShadowVolumeOccluder:125
A class for representing convex clipping volumes made up of several ConvexPlanarPolygon.
Definition ConvexPlanarOccluder:26
A CullStack class which accumulates the current project, modelview matrices and the CullingSet.
Definition CullStack:28
A Polytope class for representing convex clipping volumes made up of a set of planes.
Definition Polytope:26
Smart pointer for handling referenced counted objects.
Definition ref_ptr:32
const Polytope & getOccluder() const
return the const occluder polytope.
Definition ShadowVolumeOccluder:81
NodePath _nodePath
Definition ShadowVolumeOccluder:117
bool computeOccluder(const NodePath &nodePath, const ConvexPlanarOccluder &occluder, CullStack &cullStack, bool createDrawables=false)
compute the shadow volume occluder.
void popCurrentMask()
Definition ShadowVolumeOccluder:155
float _volume
Definition ShadowVolumeOccluder:116
Polytope _occluderVolume
Definition ShadowVolumeOccluder:119
const HoleList & getHoleList() const
return the const list of holes.
Definition ShadowVolumeOccluder:87
const NodePath & getNodePath() const
Definition ShadowVolumeOccluder:70
Polytope & getOccluder()
return the occluder polytope.
Definition ShadowVolumeOccluder:78
std::vector< Polytope > HoleList
Definition ShadowVolumeOccluder:32
void pushCurrentMask()
Definition ShadowVolumeOccluder:140
void setNodePath(NodePath &nodePath)
Set the NodePath which describes which node in the scene graph that this occluder is attached to.
Definition ShadowVolumeOccluder:68
bool matchProjectionMatrix(const osg::Matrix &matrix) const
return true if the matrix passed in matches the projection matrix that this ShadowVolumeOccluder is a...
Definition ShadowVolumeOccluder:59
void disableResultMasks()
Definition ShadowVolumeOccluder:128
void transformProvidingInverse(const osg::Matrix &matrix)
Definition ShadowVolumeOccluder:102
ref_ptr< const RefMatrix > _projectionMatrix
Definition ShadowVolumeOccluder:118
HoleList & getHoleList()
return the list of holes.
Definition ShadowVolumeOccluder:84
ShadowVolumeOccluder()
Definition ShadowVolumeOccluder:41
HoleList _holeList
Definition ShadowVolumeOccluder:120
ShadowVolumeOccluder(const ShadowVolumeOccluder &svo)
Definition ShadowVolumeOccluder:34
bool contains(const std::vector< Vec3 > &vertices)
return true if the specified vertex list is contained entirely within this shadow occluder volume.
float getVolume() const
get the volume of the occluder minus its holes, in eye coords, the volume is normalized by dividing b...
Definition ShadowVolumeOccluder:75
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.
NodePath & getNodePath()
Definition ShadowVolumeOccluder:69
#define OSG_EXPORT
Definition Export:39