Classes |
struct | Frustum |
struct | LightData |
struct | ShadowData |
class | ViewDependentData |
Public Types |
typedef std::list
< osg::ref_ptr< LightData > > | LightDataList |
typedef std::list
< osg::ref_ptr< ShadowData > > | ShadowDataList |
Public Member Functions |
| ViewDependentShadowMap () |
| ViewDependentShadowMap (const ViewDependentShadowMap &vdsm, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
| META_Object (osgShadow, ViewDependentShadowMap) |
virtual void | init () |
| initialize the ShadowedScene and local cached data structures.
|
virtual void | update (osg::NodeVisitor &nv) |
| run the update traversal of the ShadowedScene and update any loca chached data structures.
|
virtual void | cull (osgUtil::CullVisitor &cv) |
| run the cull traversal of the ShadowedScene and set up the rendering for this ShadowTechnique.
|
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
| Resize any per context GLObject buffers to specified size.
|
virtual void | releaseGLObjects (osg::State *=0) const |
| If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context.
|
virtual void | cleanSceneGraph () |
| Clean scene graph from any shadow technique specific nodes, state and drawables.
|
virtual ViewDependentData * | createViewDependentData (osgUtil::CullVisitor *cv) |
ViewDependentData * | getViewDependentData (osgUtil::CullVisitor *cv) |
virtual void | createShaders () |
virtual bool | selectActiveLights (osgUtil::CullVisitor *cv, ViewDependentData *vdd) const |
virtual osg::Polytope | computeLightViewFrustumPolytope (Frustum &frustum, LightData &positionedLight) |
virtual bool | computeShadowCameraSettings (Frustum &frustum, LightData &positionedLight, osg::Matrixd &projectionMatrix, osg::Matrixd &viewMatrix) |
virtual bool | adjustPerspectiveShadowMapCameraSettings (osgUtil::RenderStage *renderStage, Frustum &frustum, LightData &positionedLight, osg::Camera *camera) |
virtual bool | assignTexGenSettings (osgUtil::CullVisitor *cv, osg::Camera *camera, unsigned int textureUnit, osg::TexGen *texgen) |
virtual void | cullShadowReceivingScene (osgUtil::CullVisitor *cv) const |
virtual void | cullShadowCastingScene (osgUtil::CullVisitor *cv, osg::Camera *camera) const |
virtual osg::StateSet * | selectStateSetForRenderingShadow (ViewDependentData &vdd) const |
Protected Types |
typedef std::map
< osgUtil::CullVisitor
*, osg::ref_ptr
< ViewDependentData > > | ViewDependentDataMap |
typedef std::vector
< osg::ref_ptr< osg::Uniform > > | Uniforms |
Protected Member Functions |
virtual | ~ViewDependentShadowMap () |
Protected Attributes |
OpenThreads::Mutex | _viewDependentDataMapMutex |
ViewDependentDataMap | _viewDependentDataMap |
osg::ref_ptr< osg::StateSet > | _shadowRecievingPlaceholderStateSet |
osg::ref_ptr< osg::StateSet > | _shadowCastingStateSet |
osg::ref_ptr< osg::PolygonOffset > | _polygonOffset |
osg::ref_ptr< osg::Texture2D > | _fallbackBaseTexture |
osg::ref_ptr< osg::Texture2D > | _fallbackShadowMapTexture |
OpenThreads::Mutex | _accessUniformsAndProgramMutex |
Uniforms | _uniforms |
osg::ref_ptr< osg::Program > | _program |
ViewDependentShadowMap provides an base implementation of view dependent shadow mapping techniques.