openscenegraph
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
osgShadow::DebugShadowMap::ViewData Struct Reference
Inheritance diagram for osgShadow::DebugShadowMap::ViewData:
osgShadow::ViewDependentShadowTechnique::ViewData osg::Referenced osgShadow::StandardShadowMap::ViewData osgShadow::MinimalShadowMap::ViewData osgShadow::MinimalCullBoundsShadowMap::ViewData osgShadow::MinimalDrawBoundsShadowMap::ViewData

Classes

struct  PolytopeGeometry

Public Types

typedef std::map< std::string,
PolytopeGeometry
PolytopeGeometryMap

Public Member Functions

bool getDebugDraw ()
std::string * getDebugDump ()
virtual void init (ThisClass *st, osgUtil::CullVisitor *cv)
virtual void cull ()
virtual void createDebugHUD (void)
virtual void cullDebugGeometry ()
virtual void updateDebugGeometry (const osg::Camera *screenCam, const osg::Camera *shadowCam)
void setDebugPolytope (const char *name, const ConvexPolyhedron &polytope=*(ConvexPolyhedron *)(NULL), osg::Vec4 colorOutline=osg::Vec4(0, 0, 0, 0), osg::Vec4 colorInside=osg::Vec4(0, 0, 0, 0))
bool DebugBoundingBox (const osg::BoundingBox &bb, const char *name="")
bool DebugPolytope (const osg::Polytope &p, const char *name="")
bool DebugMatrix (const osg::Matrix &m, const char *name="")
void dump (const std::string &filename)
- Public Member Functions inherited from osgShadow::ViewDependentShadowTechnique::ViewData
virtual const char * className () const
virtual void init (ViewDependentShadowTechnique *st, osgUtil::CullVisitor *cv)
virtual void dirty (bool flag)
 ViewData ()
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool threadSafe)
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

Static Public Member Functions

static osg::Vec3d computeShadowTexelToPixelError (const osg::Matrix &mvpwView, const osg::Matrix &mvpwShadow, const osg::Vec3d &vWorld, const osg::Vec3d &vDelta=osg::Vec3d(0.01, 0.01, 0.01))
static void displayShadowTexelToPixelErrors (const osg::Camera *viewCam, const osg::Camera *shadowCam, const ConvexPolyhedron *hull)

Public Attributes

osg::ref_ptr< osg::Texture_texture
osg::ref_ptr< osg::Camera_camera
osg::Matrixd _viewProjection
osg::observer_ptr< osg::Camera_viewCamera
osg::ref_ptr< osg::Shader_depthColorFragmentShader
osg::Vec2s _hudSize
osg::Vec2s _hudOrigin
osg::Vec2s _viewportSize
osg::Vec2s _viewportOrigin
osg::Vec2s _orthoSize
osg::Vec2s _orthoOrigin
bool * _doDebugDrawPtr
std::string * _debugDumpPtr
PolytopeGeometryMap _polytopeGeometryMap
osg::ref_ptr< osg::Geode_geode [2]
osg::ref_ptr
< osg::MatrixTransform
_transform [2]
std::map< std::string,
osg::Matrix
_matrixMap
std::map< std::string,
osg::Polytope
_polytopeMap
std::map< std::string,
osg::BoundingBox
_boundingBoxMap
osg::ref_ptr< osg::Camera_cameraDebugHUD
- Public Attributes inherited from osgShadow::ViewDependentShadowTechnique::ViewData
OpenThreads::Mutex _mutex
bool _dirty
osg::observer_ptr
< osgUtil::CullVisitor
_cv
osg::observer_ptr
< ViewDependentShadowTechnique
_st

Additional Inherited Members

- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Member Typedef Documentation

Member Function Documentation

static osg::Vec3d osgShadow::DebugShadowMap::ViewData::computeShadowTexelToPixelError ( const osg::Matrix mvpwView,
const osg::Matrix mvpwShadow,
const osg::Vec3d vWorld,
const osg::Vec3d vDelta = osg::Vec3d(0.01, 0.01, 0.01) 
)
static
virtual void osgShadow::DebugShadowMap::ViewData::createDebugHUD ( void  )
virtual
virtual void osgShadow::DebugShadowMap::ViewData::cull ( )
virtual

Method called by ViewDependentShadowTechnique to allow ViewData do the hard work computing shadows for its associated view

Reimplemented from osgShadow::ViewDependentShadowTechnique::ViewData.

Reimplemented in osgShadow::StandardShadowMap::ViewData.

virtual void osgShadow::DebugShadowMap::ViewData::cullDebugGeometry ( )
virtual
bool osgShadow::DebugShadowMap::ViewData::DebugBoundingBox ( const osg::BoundingBox bb,
const char *  name = "" 
)
bool osgShadow::DebugShadowMap::ViewData::DebugMatrix ( const osg::Matrix m,
const char *  name = "" 
)
bool osgShadow::DebugShadowMap::ViewData::DebugPolytope ( const osg::Polytope p,
const char *  name = "" 
)
static void osgShadow::DebugShadowMap::ViewData::displayShadowTexelToPixelErrors ( const osg::Camera viewCam,
const osg::Camera shadowCam,
const ConvexPolyhedron hull 
)
static
void osgShadow::DebugShadowMap::ViewData::dump ( const std::string &  filename)
bool osgShadow::DebugShadowMap::ViewData::getDebugDraw ( )
inline
std::string* osgShadow::DebugShadowMap::ViewData::getDebugDump ( )
inline
virtual void osgShadow::DebugShadowMap::ViewData::init ( ThisClass st,
osgUtil::CullVisitor cv 
)
virtual
void osgShadow::DebugShadowMap::ViewData::setDebugPolytope ( const char *  name,
const ConvexPolyhedron polytope = *(ConvexPolyhedron *)(NULL),
osg::Vec4  colorOutline = osg::Vec4(0, 0, 0, 0),
osg::Vec4  colorInside = osg::Vec4(0, 0, 0, 0) 
)
virtual void osgShadow::DebugShadowMap::ViewData::updateDebugGeometry ( const osg::Camera screenCam,
const osg::Camera shadowCam 
)
virtual

Member Data Documentation

std::map< std::string, osg::BoundingBox > osgShadow::DebugShadowMap::ViewData::_boundingBoxMap
osg::ref_ptr< osg::Camera > osgShadow::DebugShadowMap::ViewData::_camera

Camera used to render ShadowMap - initialized by derived classes. But it has to be defined now since DebugShadowMap::ViewData methods use it

osg::ref_ptr<osg::Camera> osgShadow::DebugShadowMap::ViewData::_cameraDebugHUD
std::string* osgShadow::DebugShadowMap::ViewData::_debugDumpPtr
osg::ref_ptr< osg::Shader > osgShadow::DebugShadowMap::ViewData::_depthColorFragmentShader

Coloring Shader used to present shadow depth map contents

bool* osgShadow::DebugShadowMap::ViewData::_doDebugDrawPtr
osg::ref_ptr< osg::Geode > osgShadow::DebugShadowMap::ViewData::_geode[2]
osg::Vec2s osgShadow::DebugShadowMap::ViewData::_hudOrigin
osg::Vec2s osgShadow::DebugShadowMap::ViewData::_hudSize
std::map< std::string, osg::Matrix > osgShadow::DebugShadowMap::ViewData::_matrixMap
osg::Vec2s osgShadow::DebugShadowMap::ViewData::_orthoOrigin
osg::Vec2s osgShadow::DebugShadowMap::ViewData::_orthoSize
PolytopeGeometryMap osgShadow::DebugShadowMap::ViewData::_polytopeGeometryMap
std::map< std::string, osg::Polytope > osgShadow::DebugShadowMap::ViewData::_polytopeMap
osg::ref_ptr< osg::Texture > osgShadow::DebugShadowMap::ViewData::_texture

Texture used as ShadowMap - initialized by derived classes. But it has to be defined now since DebugShadowMap::ViewData methods use it

osg::ref_ptr< osg::MatrixTransform > osgShadow::DebugShadowMap::ViewData::_transform[2]
osg::observer_ptr<osg::Camera> osgShadow::DebugShadowMap::ViewData::_viewCamera
osg::Vec2s osgShadow::DebugShadowMap::ViewData::_viewportOrigin
osg::Vec2s osgShadow::DebugShadowMap::ViewData::_viewportSize
osg::Matrixd osgShadow::DebugShadowMap::ViewData::_viewProjection

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