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 Types inherited from osg::Object
enum  DataVariance { DYNAMIC, STATIC, UNSPECIFIED }
 

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 ()
 
const ShadowedScenegetShadowedScene () const
 
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
 
template<typename T >
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject bool getUserValue (const std::string &name, T &value) 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

§ ShaderList

§ UniformList

Constructor & Destructor Documentation

§ ShadowMap() [1/2]

osgShadow::ShadowMap::ShadowMap ( )

§ ShadowMap() [2/2]

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

§ ~ShadowMap()

virtual osgShadow::ShadowMap::~ShadowMap ( void  )
inlineprotectedvirtual

Member Function Documentation

§ addShader()

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

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

§ cleanSceneGraph()

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

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

Reimplemented from osgShadow::ShadowTechnique.

§ clearShaderList()

void osgShadow::ShadowMap::clearShaderList ( )
inline

Reset internal shader list

§ createShaders()

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

Reimplemented in osgShadow::SoftShadowMap.

§ createUniforms()

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

Create the managed Uniforms

Reimplemented in osgShadow::SoftShadowMap.

§ cull()

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.

§ getAmbientBias()

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

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

§ getPolygonOffset()

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

get the used polygon offset

§ getTextureSize()

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

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

§ getTextureUnit()

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

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

§ init()

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

initialize the ShadowedScene and local cached data structures.

Reimplemented from osgShadow::ShadowTechnique.

§ makeDebugHUD()

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

§ META_Object()

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

§ setAmbientBias()

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

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

§ setLight() [1/2]

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

Set the Light that will cast shadows

§ setLight() [2/2]

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

§ setPolygonOffset()

void osgShadow::ShadowMap::setPolygonOffset ( const osg::Vec2 polyOffset)

set the polygon offset used initially

§ setTextureSize()

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

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

§ setTextureUnit()

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

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

§ update()

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

§ _ambientBias

osg::Vec2 osgShadow::ShadowMap::_ambientBias
protected

§ _ambientBiasUniform

osg::ref_ptr<osg::Uniform> osgShadow::ShadowMap::_ambientBiasUniform
protected

§ _baseTextureUnit

unsigned int osgShadow::ShadowMap::_baseTextureUnit
protected

§ _camera

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

§ _light

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

§ _ls

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

§ _polyOffset

osg::Vec2 osgShadow::ShadowMap::_polyOffset
protected

§ _program

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

§ _shaderList

ShaderList osgShadow::ShadowMap::_shaderList
protected

§ _shadowTextureUnit

unsigned int osgShadow::ShadowMap::_shadowTextureUnit
protected

§ _stateset

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

§ _texgen

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

§ _texture

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

§ _textureSize

osg::Vec2s osgShadow::ShadowMap::_textureSize
protected

§ _uniformList

UniformList osgShadow::ShadowMap::_uniformList
protected

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