14 #ifndef OSGSHADOW_VIEWDEPENDENTSHADOWMAP
15 #define OSGSHADOW_VIEWDEPENDENTSHADOWMAP 1
18 #include <osg/Material>
19 #include <osg/MatrixTransform>
20 #include <osg/LightSource>
21 #include <osg/PolygonOffset>
23 #include <osgShadow/ShadowTechnique>
47 virtual void resizeGLObjectBuffers(
unsigned int maxSize);
52 virtual void releaseGLObjects(
osg::State* = 0)
const;
55 virtual void cleanSceneGraph();
68 typedef std::vector<unsigned int>
Indices;
69 typedef std::vector<Indices>
Faces;
72 typedef std::vector<Indices>
Edges;
111 virtual void releaseGLObjects(
osg::State* = 0)
const;
137 virtual void releaseGLObjects(
osg::State* = 0)
const;
156 virtual void createShaders();
189 typedef std::vector< osg::ref_ptr<osg::Uniform> >
Uniforms;
ViewDependentData * _viewDependentData
This class provides an object-oriented thread mutex interface.
std::map< osgUtil::CullVisitor *, osg::ref_ptr< ViewDependentData > > ViewDependentDataMap
osg::ref_ptr< osg::Texture2D > _fallbackShadowMapTexture
OpenThreads::Mutex _viewDependentDataMapMutex
osg::StateSet * getStateSet()
std::vector< osg::Vec3d > Vertices
std::vector< Indices > Faces
ViewDependentDataMap _viewDependentDataMap
std::vector< unsigned int > Indices
ViewDependentData * _viewDependentData
std::list< osg::ref_ptr< LightData > > LightDataList
osg::ref_ptr< osg::StateSet > _shadowCastingStateSet
ShadowDataList & getShadowDataList()
osg::Matrixd projectionMatrix
#define META_Object(library, name)
OpenThreads::Mutex _accessUniformsAndProgramMutex
LightDataList _lightDataList
std::vector< Indices > Edges
osg::Vec3d centerNearPlane
osg::Vec3d centerFarPlane
ActiveTextureUnits textureUnits
ViewDependentShadowMap * _viewDependentShadowMap
osg::ref_ptr< osg::StateSet > _shadowRecievingPlaceholderStateSet
osg::Matrixd modelViewMatrix
osg::ref_ptr< osg::StateSet > _stateset
ShadowDataList _shadowDataList
osg::ref_ptr< const osg::Light > light
osg::ref_ptr< osg::Texture2D > _fallbackBaseTexture
osg::Vec3d frustumCenterLine
osg::ref_ptr< osg::Camera > _camera
virtual ~ViewDependentData()
osg::ref_ptr< osg::TexGen > _texgen
std::vector< unsigned int > ActiveTextureUnits
osg::ref_ptr< osg::RefMatrix > lightMatrix
osg::ref_ptr< osg::Program > _program
LightDataList & getLightDataList()
osg::ref_ptr< osg::PolygonOffset > _polygonOffset
std::vector< osg::ref_ptr< osg::Uniform > > Uniforms
const ViewDependentShadowMap * getViewDependentShadowMap() const
std::list< osg::ref_ptr< ShadowData > > ShadowDataList
unsigned int _textureUnit
osg::ref_ptr< osg::Texture2D > _texture