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

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 ()
- Public Member Functions inherited from osgShadow::ShadowTechnique
 ShadowTechnique ()
 ShadowTechnique (const ShadowTechnique &es, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgShadow, ShadowTechnique)
ShadowedScenegetShadowedScene ()
virtual void traverse (osg::NodeVisitor &nv)
virtual void dirty ()
- Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual ObjectcloneType () const =0
virtual Objectclone (const CopyOp &) const =0
virtual bool isSameKindAs (const Object *) const
virtual const char * libraryName () const =0
virtual const char * className () const =0
virtual void setThreadSafeRefUnref (bool threadSafe)
virtual void setName (const std::string &name)
void setName (const char *name)
const std::string & getName () const
void setDataVariance (DataVariance dv)
DataVariance getDataVariance () const
virtual void computeDataVariance ()
void setUserDataContainer (osg::UserDataContainer *udc)
osg::UserDataContainergetUserDataContainer ()
const osg::UserDataContainergetUserDataContainer () const
osg::UserDataContainergetOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
virtual ReferencedgetUserData ()
virtual const ReferencedgetUserData () const
template<typename T >
bool getUserValue (const std::string &name, T &value) const
template<typename T >
void setUserValue (const std::string &name, const T &value)
virtual void resizeGLObjectBuffers (unsigned int)
virtual void releaseGLObjects (osg::State *=0) const
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Protected Member Functions

virtual ~ShadowMap (void)
virtual void createUniforms ()
virtual void createShaders ()
- Protected Member Functions inherited from osgShadow::ShadowTechnique
osg::Vec3 computeOrthogonalVector (const osg::Vec3 &direction) const
virtual ~ShadowTechnique ()
- Protected Member Functions inherited from osg::Object
virtual ~Object ()
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

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
- Protected Attributes inherited from osgShadow::ShadowTechnique
ShadowedScene_shadowedScene
bool _dirty
- Protected Attributes inherited from osg::Object
std::string _name
DataVariance _dataVariance
osg::UserDataContainer_userDataContainer
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
static bool getThreadSafeReferenceCounting ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

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  )
inlineprotectedvirtual

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 ( )
protectedvirtual

Reimplemented in osgShadow::SoftShadowMap.

virtual void osgShadow::ShadowMap::createUniforms ( )
protectedvirtual

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

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

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