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.