OSG
3.4.0
|
#include <ViewDependentShadowMap.h>
Classes | |
struct | Frustum |
struct | LightData |
struct | ShadowData |
class | ViewDependentData |
Public Types | |
typedef std::list < osg::ref_ptr< LightData > > | LightDataList |
typedef std::list < osg::ref_ptr< ShadowData > > | ShadowDataList |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
ViewDependentShadowMap () | |
ViewDependentShadowMap (const ViewDependentShadowMap &vdsm, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
META_Object (osgShadow, ViewDependentShadowMap) | |
virtual void | init () |
virtual void | update (osg::NodeVisitor &nv) |
virtual void | cull (osgUtil::CullVisitor &cv) |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
virtual void | releaseGLObjects (osg::State *=0) const |
virtual void | cleanSceneGraph () |
virtual ViewDependentData * | createViewDependentData (osgUtil::CullVisitor *cv) |
ViewDependentData * | getViewDependentData (osgUtil::CullVisitor *cv) |
virtual void | createShaders () |
virtual bool | selectActiveLights (osgUtil::CullVisitor *cv, ViewDependentData *vdd) const |
virtual osg::Polytope | computeLightViewFrustumPolytope (Frustum &frustum, LightData &positionedLight) |
virtual bool | computeShadowCameraSettings (Frustum &frustum, LightData &positionedLight, osg::Matrixd &projectionMatrix, osg::Matrixd &viewMatrix) |
virtual bool | adjustPerspectiveShadowMapCameraSettings (osgUtil::RenderStage *renderStage, Frustum &frustum, LightData &positionedLight, osg::Camera *camera) |
virtual bool | assignTexGenSettings (osgUtil::CullVisitor *cv, osg::Camera *camera, unsigned int textureUnit, osg::TexGen *texgen) |
virtual void | cullShadowReceivingScene (osgUtil::CullVisitor *cv) const |
virtual void | cullShadowCastingScene (osgUtil::CullVisitor *cv, osg::Camera *camera) const |
virtual osg::StateSet * | selectStateSetForRenderingShadow (ViewDependentData &vdd) const |
![]() | |
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) |
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 Types | |
typedef std::map < osgUtil::CullVisitor *, osg::ref_ptr < ViewDependentData > > | ViewDependentDataMap |
typedef std::vector < osg::ref_ptr< osg::Uniform > > | Uniforms |
Protected Member Functions | |
virtual | ~ViewDependentShadowMap () |
![]() | |
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 | |
OpenThreads::Mutex | _viewDependentDataMapMutex |
ViewDependentDataMap | _viewDependentDataMap |
osg::ref_ptr< osg::StateSet > | _shadowRecievingPlaceholderStateSet |
osg::ref_ptr< osg::StateSet > | _shadowCastingStateSet |
osg::ref_ptr< osg::PolygonOffset > | _polygonOffset |
osg::ref_ptr< osg::Texture2D > | _fallbackBaseTexture |
osg::ref_ptr< osg::Texture2D > | _fallbackShadowMapTexture |
OpenThreads::Mutex | _accessUniformsAndProgramMutex |
Uniforms | _uniforms |
osg::ref_ptr< osg::Program > | _program |
![]() | |
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 () |
ViewDependentShadowMap provides an base implementation of view dependent shadow mapping techniques.
Definition at line 28 of file ViewDependentShadowMap.h.
typedef std::list< osg::ref_ptr<LightData> > osgShadow::ViewDependentShadowMap::LightDataList |
Definition at line 105 of file ViewDependentShadowMap.h.
typedef std::list< osg::ref_ptr<ShadowData> > osgShadow::ViewDependentShadowMap::ShadowDataList |
Definition at line 121 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 189 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 178 of file ViewDependentShadowMap.h.
osgShadow::ViewDependentShadowMap::ViewDependentShadowMap | ( | ) |
osgShadow::ViewDependentShadowMap::ViewDependentShadowMap | ( | const ViewDependentShadowMap & | vdsm, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
|
protectedvirtual |
|
virtual |
|
virtual |
|
virtual |
Clean scene graph from any shadow technique specific nodes, state and drawables.
Reimplemented from osgShadow::ShadowTechnique.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
run the cull traversal of the ShadowedScene and set up the rendering for this ShadowTechnique.
Reimplemented from osgShadow::ShadowTechnique.
|
virtual |
|
virtual |
ViewDependentData* osgShadow::ViewDependentShadowMap::getViewDependentData | ( | osgUtil::CullVisitor * | cv | ) |
|
virtual |
initialize the ShadowedScene and local cached data structures.
Reimplemented from osgShadow::ShadowTechnique.
osgShadow::ViewDependentShadowMap::META_Object | ( | osgShadow | , |
ViewDependentShadowMap | |||
) |
|
virtual |
If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. Otherwise, releases OpenGL objects for all graphics contexts.
Reimplemented from osg::Object.
|
virtual |
Resize any per context GLObject buffers to specified size.
Reimplemented from osg::Object.
|
virtual |
|
virtual |
|
virtual |
run the update traversal of the ShadowedScene and update any loca chached data structures.
Reimplemented from osgShadow::ShadowTechnique.
|
mutableprotected |
Definition at line 190 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 186 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 187 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 185 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 192 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 184 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 182 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 191 of file ViewDependentShadowMap.h.
|
protected |
Definition at line 180 of file ViewDependentShadowMap.h.
|
mutableprotected |
Definition at line 179 of file ViewDependentShadowMap.h.