17 #ifndef OSGSHADOW_MINIMALSHADOWMAP
18 #define OSGSHADOW_MINIMALSHADOWMAP 1
20 #include <osgShadow/StandardShadowMap>
44 { _modellingSpaceToWorld = modellingSpaceToWorld; }
47 {
return _modellingSpaceToWorld; }
50 {
return _maxFarPlane; }
53 { _maxFarPlane = maxFarPlane; }
56 {
return _minLightMargin; }
59 { _minLightMargin = minLightMargin; }
65 DEFAULT_ACCURACY = BOUNDING_BOX
68 void setShadowReceivingCoarseBoundAccuracy
70 { _shadowReceivingCoarseBoundAccuracy = accuracy; }
72 ShadowReceivingCoarseBoundAccuracy
74 {
return _shadowReceivingCoarseBoundAccuracy; }
116 virtual void cullShadowReceivingScene( );
118 virtual void aimShadowCastingCamera(
125 virtual void aimShadowCastingCamera(
const osg::Light *light,
131 virtual void frameShadowCastingCamera
147 static void trimProjection
149 unsigned int trimMask = (1|2|4|8|16|32)
152 static void clampProjection
153 (
osg::Matrixd & projection,
float n = 0,
float f = FLT_MAX );
155 static void extendProjection
ShadowReceivingCoarseBoundAccuracy
osg::Matrix _modellingSpaceToWorld
osg::Matrixd _clampedProjection
void setMinLightMargin(float minLightMargin)
void setModellingSpaceToWorldTransform(const osg::Matrix &modellingSpaceToWorld)
StandardShadowMap BaseClass
#define META_ViewDependentShadowTechniqueData(ShadowTechnique, TechniqueData)
float getMaxFarPlane() const
int _frameShadowCastingCameraPasses
#define META_Object(library, name)
void setMaxFarPlane(float maxFarPlane)
ShadowReceivingCoarseBoundAccuracy getShadowReceivingCoarseBoundAccuracy() const
const osg::Matrix & getModellingSpaceToWorldTransform(void) const
float getMinLightMargin() const
MinimalShadowMap ThisClass
float * _minLightMarginPtr
ConvexPolyhedron _sceneReceivingShadowPolytope
osg::Matrix * _modellingSpaceToWorldPtr
ShadowReceivingCoarseBoundAccuracy _shadowReceivingCoarseBoundAccuracy
std::vector< osg::Vec3d > _sceneReceivingShadowPolytopePoints