OSG
3.4.0
|
#include <ShadowMap.h>
Public Types | |
typedef std::vector < osg::ref_ptr< osg::Uniform > > | UniformList |
typedef std::vector < osg::ref_ptr< osg::Shader > > | ShaderList |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
ShadowMap () | |
ShadowMap (const ShadowMap &es, const osg::CopyOp ©op=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::Vec2 & | getPolygonOffset () const |
void | setAmbientBias (const osg::Vec2 &ambientBias) |
const osg::Vec2 & | getAmbientBias () const |
void | setTextureSize (const osg::Vec2s &textureSize) |
const osg::Vec2s & | getTextureSize () 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::Camera > | makeDebugHUD () |
![]() | |
ShadowTechnique () | |
ShadowTechnique (const ShadowTechnique &es, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
META_Object (osgShadow, ShadowTechnique) | |
ShadowedScene * | getShadowedScene () |
const ShadowedScene * | getShadowedScene () const |
virtual void | traverse (osg::NodeVisitor &nv) |
virtual void | dirty () |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual Object * | cloneType () const =0 |
virtual Object * | clone (const CopyOp &) const =0 |
virtual bool | isSameKindAs (const Object *) const |
virtual const char * | libraryName () const =0 |
virtual const char * | className () const =0 |
std::string | getCompoundClassName () const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual NodeVisitor * | asNodeVisitor () |
virtual const NodeVisitor * | asNodeVisitor () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
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::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () 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 BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
Protected Member Functions | |
virtual | ~ShadowMap (void) |
virtual void | createUniforms () |
virtual void | createShaders () |
![]() | |
osg::Vec3 | computeOrthogonalVector (const osg::Vec3 &direction) const |
virtual | ~ShadowTechnique () |
![]() | |
virtual | ~Object () |
![]() | |
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 |
![]() | |
ShadowedScene * | _shadowedScene |
bool | _dirty |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
static bool | getThreadSafeReferenceCounting () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
ShadowedTexture provides an implementation of shadow textures.
Definition at line 27 of file ShadowMap.h.
typedef std::vector< osg::ref_ptr<osg::Shader> > osgShadow::ShadowMap::ShaderList |
Definition at line 66 of file ShadowMap.h.
typedef std::vector< osg::ref_ptr<osg::Uniform> > osgShadow::ShadowMap::UniformList |
Definition at line 64 of file ShadowMap.h.
osgShadow::ShadowMap::ShadowMap | ( | ) |
osgShadow::ShadowMap::ShadowMap | ( | const ShadowMap & | es, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
|
inlineprotectedvirtual |
Definition at line 91 of file ShadowMap.h.
|
inline |
Add a shader to internal list, will be used instead of the default ones
Definition at line 69 of file ShadowMap.h.
|
virtual |
Clean scene graph from any shadow technique specific nodes, state and drawables.
Reimplemented from osgShadow::ShadowTechnique.
|
inline |
Reset internal shader list
Definition at line 72 of file ShadowMap.h.
|
protectedvirtual |
Reimplemented in osgShadow::SoftShadowMap.
|
protectedvirtual |
Create the managed Uniforms
Reimplemented in osgShadow::SoftShadowMap.
|
virtual |
run the cull traversal of the ShadowedScene and set up the rendering for this ShadowTechnique.
Reimplemented from osgShadow::ShadowTechnique.
|
inline |
Get the values that are used for the ambient bias in the shader.
Definition at line 52 of file ShadowMap.h.
|
inline |
get the used polygon offset
Definition at line 46 of file ShadowMap.h.
|
inline |
Get the values that are used for the ambient bias in the shader.
Definition at line 58 of file ShadowMap.h.
|
inline |
Get the texture unit that the shadow texture will be applied on.
Definition at line 40 of file ShadowMap.h.
|
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 |
run the update traversal of the ShadowedScene and update any loca chached data structures.
Reimplemented from osgShadow::ShadowTechnique.
|
protected |
Definition at line 116 of file ShadowMap.h.
|
protected |
Definition at line 110 of file ShadowMap.h.
|
protected |
Definition at line 113 of file ShadowMap.h.
|
protected |
Definition at line 99 of file ShadowMap.h.
|
protected |
Definition at line 106 of file ShadowMap.h.
|
protected |
Definition at line 108 of file ShadowMap.h.
|
protected |
Definition at line 115 of file ShadowMap.h.
|
protected |
Definition at line 105 of file ShadowMap.h.
|
protected |
Definition at line 112 of file ShadowMap.h.
|
protected |
Definition at line 114 of file ShadowMap.h.
|
protected |
Definition at line 104 of file ShadowMap.h.
|
protected |
Definition at line 102 of file ShadowMap.h.
|
protected |
Definition at line 103 of file ShadowMap.h.
|
protected |
Definition at line 117 of file ShadowMap.h.
|
protected |
Definition at line 111 of file ShadowMap.h.