osgShadow::ShadowMap Class Reference

ShadowedTexture provides an implementation of shadow textures. More...

Inheritance diagram for osgShadow::ShadowMap:

Inheritance graph
[legend]

List of all members.

Public Types

typedef std::vector
< osg::ref_ptr
< osg::Uniform > > 
UniformList
typedef std::vector
< osg::ref_ptr
< osg::Shader > > 
ShaderList

Public Member Functions

 ShadowMap ()
 ShadowMap (const ShadowMap &es, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgShadow, ShadowMap)
void setTextureUnit (unsigned int unit)
 Set the texture unit that the shadow texture will be applied on.
unsigned int getTextureUnit () const
 Get the texture unit that the shadow texture will be applied on.
void setAmbientBias (const osg::Vec2 &ambientBias)
 Set the values for the ambient bias the shader will use.
const osg::Vec2getAmbientBias () const
 Get the values that are used for the ambient bias in the shader.
void setTextureSize (const osg::Vec2s &textureSize)
 set the size in pixels x / y for the shadow texture.
const osg::Vec2sgetTextureSize () const
 Get the values that are used for the ambient bias in the shader.
void setLight (osg::Light *light)
 Set the Light that will cast shadows.
void setLight (osg::LightSource *ls)
void addShader (osg::Shader *shader)
 Add a shader to internal list, will be used instead of the default ones.
void clearShaderList ()
 Reset internal shader list.
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 cleanSceneGraph ()
 Clean scene graph from any shadow technique specific nodes, state and drawables.
osg::ref_ptr
< osg::Camera
makeDebugHUD ()

Protected Member Functions

virtual ~ShadowMap (void)
void createUniforms ()
 Create the managed Uniforms.
void createShaders ()

Protected Attributes

osg::ref_ptr
< osg::Camera
_camera
osg::ref_ptr
< osg::TexGen
_texgen
osg::ref_ptr
< osg::Texture2D
_texture
osg::ref_ptr
< osg::StateSet
_stateset
osg::ref_ptr
< osg::Program
_program
osg::ref_ptr
< osg::Light
_light
osg::ref_ptr
< osg::LightSource
_ls
UniformList _uniformList
ShaderList _shaderList
unsigned int _baseTextureUnit
unsigned int _shadowTextureUnit
osg::Vec2 _ambientBias
osg::Vec2s _textureSize


Detailed Description

ShadowedTexture provides an implementation of shadow textures.


Member Typedef Documentation

typedef std::vector< osg::ref_ptr<osg::Uniform> > osgShadow::ShadowMap::UniformList

typedef std::vector< osg::ref_ptr<osg::Shader> > osgShadow::ShadowMap::ShaderList


Constructor & Destructor Documentation

osgShadow::ShadowMap::ShadowMap (  ) 

osgShadow::ShadowMap::ShadowMap ( const ShadowMap es,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)

virtual osgShadow::ShadowMap::~ShadowMap ( void   )  [inline, protected, virtual]


Member Function Documentation

osgShadow::ShadowMap::META_Object ( osgShadow  ,
ShadowMap   
)

void osgShadow::ShadowMap::setTextureUnit ( unsigned int  unit  ) 

Set the texture unit that the shadow texture will be applied on.

unsigned int osgShadow::ShadowMap::getTextureUnit (  )  const [inline]

Get the texture unit that the shadow texture will be applied on.

void osgShadow::ShadowMap::setAmbientBias ( const osg::Vec2 ambientBias  ) 

Set the values for the ambient bias the shader will use.

const osg::Vec2& osgShadow::ShadowMap::getAmbientBias (  )  const [inline]

Get the values that are used for the ambient bias in the shader.

void osgShadow::ShadowMap::setTextureSize ( const osg::Vec2s textureSize  ) 

set the size in pixels x / y for the shadow texture.

const osg::Vec2s& osgShadow::ShadowMap::getTextureSize (  )  const [inline]

Get the values that are used for the ambient bias in the shader.

void osgShadow::ShadowMap::setLight ( osg::Light light  ) 

Set the Light that will cast shadows.

void osgShadow::ShadowMap::setLight ( osg::LightSource ls  ) 

void osgShadow::ShadowMap::addShader ( osg::Shader shader  )  [inline]

Add a shader to internal list, will be used instead of the default ones.

void osgShadow::ShadowMap::clearShaderList (  )  [inline]

Reset internal shader list.

virtual void osgShadow::ShadowMap::init (  )  [virtual]

initialize the ShadowedScene and local cached data structures.

Reimplemented from osgShadow::ShadowTechnique.

virtual void osgShadow::ShadowMap::update ( osg::NodeVisitor nv  )  [virtual]

run the update traversal of the ShadowedScene and update any loca chached data structures.

Reimplemented from osgShadow::ShadowTechnique.

virtual void osgShadow::ShadowMap::cull ( osgUtil::CullVisitor cv  )  [virtual]

run the cull traversal of the ShadowedScene and set up the rendering for this ShadowTechnique.

Reimplemented from osgShadow::ShadowTechnique.

virtual void osgShadow::ShadowMap::cleanSceneGraph (  )  [virtual]

Clean scene graph from any shadow technique specific nodes, state and drawables.

Reimplemented from osgShadow::ShadowTechnique.

osg::ref_ptr<osg::Camera> osgShadow::ShadowMap::makeDebugHUD (  ) 

void osgShadow::ShadowMap::createUniforms (  )  [protected]

Create the managed Uniforms.

void osgShadow::ShadowMap::createShaders (  )  [protected]


Member Data Documentation

osg::ref_ptr<osg::Camera> osgShadow::ShadowMap::_camera [protected]

osg::ref_ptr<osg::TexGen> osgShadow::ShadowMap::_texgen [protected]

osg::ref_ptr<osg::Texture2D> osgShadow::ShadowMap::_texture [protected]

osg::ref_ptr<osg::StateSet> osgShadow::ShadowMap::_stateset [protected]

osg::ref_ptr<osg::Program> osgShadow::ShadowMap::_program [protected]

osg::ref_ptr<osg::Light> osgShadow::ShadowMap::_light [protected]

osg::ref_ptr<osg::LightSource> osgShadow::ShadowMap::_ls [protected]

UniformList osgShadow::ShadowMap::_uniformList [protected]

ShaderList osgShadow::ShadowMap::_shaderList [protected]

unsigned int osgShadow::ShadowMap::_baseTextureUnit [protected]

unsigned int osgShadow::ShadowMap::_shadowTextureUnit [protected]

osg::Vec2 osgShadow::ShadowMap::_ambientBias [protected]

osg::Vec2s osgShadow::ShadowMap::_textureSize [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:45 2007 for the OpenSceneGraph by doxygen 1.5.3.