openscenegraph
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
osgShadow::ShadowMap Class Reference
Inheritance diagram for osgShadow::ShadowMap:
osgShadow::ShadowTechnique osg::Object osg::Referenced osgShadow::SoftShadowMap

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)
unsigned int getTextureUnit () const
void setPolygonOffset (const osg::Vec2 &polyOffset)
const osg::Vec2getPolygonOffset () const
void setAmbientBias (const osg::Vec2 &ambientBias)
const osg::Vec2getAmbientBias () const
void setTextureSize (const osg::Vec2s &textureSize)
const osg::Vec2sgetTextureSize () const
void setLight (osg::Light *light)
void setLight (osg::LightSource *ls)
void addShader (osg::Shader *shader)
void clearShaderList ()
virtual void init ()
virtual void update (osg::NodeVisitor &nv)
virtual void cull (osgUtil::CullVisitor &cv)
virtual void cleanSceneGraph ()
osg::ref_ptr< osg::CameramakeDebugHUD ()

Protected Member Functions

virtual ~ShadowMap (void)
virtual void createUniforms ()
virtual 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
osg::ref_ptr< osg::Uniform_ambientBiasUniform
UniformList _uniformList
ShaderList _shaderList
unsigned int _baseTextureUnit
unsigned int _shadowTextureUnit
osg::Vec2 _polyOffset
osg::Vec2 _ambientBias
osg::Vec2s _textureSize

Detailed Description

ShadowedTexture provides an implementation of shadow textures.


Member Typedef Documentation


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

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

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

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

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

Reimplemented from osgShadow::ShadowTechnique.

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

Reset internal shader list

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

Reimplemented in osgShadow::SoftShadowMap.

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

Create the managed Uniforms

Reimplemented in osgShadow::SoftShadowMap.

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.

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

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

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

get the used polygon offset

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

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

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

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

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

initialize the ShadowedScene and local cached data structures.

Reimplemented from osgShadow::ShadowTechnique.

osg::ref_ptr<osg::Camera> osgShadow::ShadowMap::makeDebugHUD ( )
osgShadow::ShadowMap::META_Object ( osgShadow  ,
ShadowMap   
)
void osgShadow::ShadowMap::setAmbientBias ( const osg::Vec2 ambientBias)

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

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

Set the Light that will cast shadows

void osgShadow::ShadowMap::setLight ( osg::LightSource ls)
void osgShadow::ShadowMap::setPolygonOffset ( const osg::Vec2 polyOffset)

set the polygon offset used initially

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

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

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

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

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.


Member Data Documentation

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

The documentation for this class was generated from the following file: