17#ifndef OSGSHADOW_MINIMALSHADOWMAP
18#define OSGSHADOW_MINIMALSHADOWMAP 1
72 ShadowReceivingCoarseBoundAccuracy
149 unsigned int trimMask = (1|2|4|8|16|32)
153 (
osg::Matrixd & projection,
float n = 0,
float f = FLT_MAX );
#define META_ViewDependentShadowTechniqueData(ShadowTechnique, TechniqueData)
META_ViewDependentShadowTechniqueData macro defines initViewDependentData method used by derived shad...
Definition ViewDependentShadowTechnique:32
Vec2f Vec2
Definition Vec2:21
Vec3f Vec3
Definition Vec3:21
BoundingBoxd BoundingBox
Definition BoundingBox:257
BoundingSphered BoundingSphere
Definition BoundingSphere:308
Matrixd Matrix
Definition Matrix:27
Vec4f Vec4
Definition Vec4:21
The osgShadow library is a NodeKit that extends the core scene graph to add support for a range of sh...
Definition ConvexPolyhedron:33
Camera - is a subclass of Transform which represents encapsulates the settings of a Camera.
Definition Camera:45
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Light state class which encapsulates OpenGL glLight() functionality.
Definition Light:40
Encapsulate OpenGL glViewport.
Definition Viewport:24
Definition ConvexPolyhedron:36
MinimalShadowMap(const MinimalShadowMap &msm, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Classic OSG cloning constructor.
const osg::Matrix & getModellingSpaceToWorldTransform(void) const
Definition MinimalShadowMap:46
StandardShadowMap BaseClass
Convenient typedef used in definition of ViewData struct and methods.
Definition MinimalShadowMap:30
ShadowReceivingCoarseBoundAccuracy _shadowReceivingCoarseBoundAccuracy
Definition MinimalShadowMap:98
void setMaxFarPlane(float maxFarPlane)
Definition MinimalShadowMap:52
virtual ~MinimalShadowMap(void)
Classic protected OSG destructor.
ShadowReceivingCoarseBoundAccuracy getShadowReceivingCoarseBoundAccuracy() const
Definition MinimalShadowMap:73
void setMinLightMargin(float minLightMargin)
Definition MinimalShadowMap:58
float _minLightMargin
Definition MinimalShadowMap:97
float _maxFarPlane
Definition MinimalShadowMap:96
ShadowReceivingCoarseBoundAccuracy
Definition MinimalShadowMap:61
@ BOUNDING_BOX
Definition MinimalShadowMap:64
@ EMPTY_BOX
Definition MinimalShadowMap:62
@ DEFAULT_ACCURACY
Definition MinimalShadowMap:65
@ BOUNDING_SPHERE
Definition MinimalShadowMap:63
MinimalShadowMap()
Classic OSG constructor.
float getMinLightMargin() const
Definition MinimalShadowMap:55
void setShadowReceivingCoarseBoundAccuracy(ShadowReceivingCoarseBoundAccuracy accuracy)
Definition MinimalShadowMap:69
osg::Matrix _modellingSpaceToWorld
Definition MinimalShadowMap:95
META_Object(osgShadow, MinimalShadowMap)
Declaration of standard OSG object methods.
void setModellingSpaceToWorldTransform(const osg::Matrix &modellingSpaceToWorld)
Definition MinimalShadowMap:43
MinimalShadowMap ThisClass
Convenient typedef used in definition of ViewData struct and methods.
Definition MinimalShadowMap:28
float getMaxFarPlane() const
Definition MinimalShadowMap:49
Definition MinimalShadowMap:101
osg::Matrixd _clampedProjection
Definition MinimalShadowMap:110
osg::Matrix * _modellingSpaceToWorldPtr
Definition MinimalShadowMap:102
virtual void aimShadowCastingCamera(const osg::BoundingSphere &bounds, const osg::Light *light, const osg::Vec4 &worldLightPos, const osg::Vec3 &worldLightDir, const osg::Vec3 &worldLightUp=osg::Vec3(0, 1, 0))
int _frameShadowCastingCameraPasses
Definition MinimalShadowMap:105
osg::BoundingBox computeScenePolytopeBounds(const osg::Matrix &m)
ConvexPolyhedron _sceneReceivingShadowPolytope
Definition MinimalShadowMap:107
static void extendProjection(osg::Matrixd &projection, osg::Viewport *viewport, const osg::Vec2 &margin)
virtual void cullShadowReceivingScene()
virtual void init(ThisClass *st, osgUtil::CullVisitor *cv)
float * _maxFarPlanePtr
Definition MinimalShadowMap:103
osg::BoundingBox computeScenePolytopeBounds()
std::vector< osg::Vec3d > _sceneReceivingShadowPolytopePoints
Definition MinimalShadowMap:108
virtual osg::BoundingBox computeShadowReceivingCoarseBounds()
virtual void frameShadowCastingCamera(const osg::Camera *cameraMain, osg::Camera *cameraShadow, int pass=1)
float * _minLightMarginPtr
Definition MinimalShadowMap:104
static void clampProjection(osg::Matrixd &projection, float n=0, float f=FLT_MAX)
void cutScenePolytope(const osg::Matrix &matrix, const osg::Matrix &inverse, const osg::BoundingBox &bb=osg::BoundingBox(-1,-1,-1, 1, 1, 1))
virtual void aimShadowCastingCamera(const osg::Light *light, const osg::Vec4 &worldLightPos, const osg::Vec3 &worldLightDir, const osg::Vec3 &worldLightUp=osg::Vec3(0, 1, 0))
static void trimProjection(osg::Matrixd &projection, osg::BoundingBox subrange, unsigned int trimMask=(1|2|4|8|16|32))
StandardShadowMap()
Classic OSG constructor.
Definition StandardShadowMap:161
Basic NodeVisitor implementation for rendering a scene.
Definition CullVisitor:49
#define OSGSHADOW_EXPORT
Definition Export:39