openscenegraph
Public Member Functions | Public Attributes | List of all members
osgShadow::ViewDependentShadowTechnique::ViewData Struct Reference

#include <ViewDependentShadowTechnique>

Inheritance diagram for osgShadow::ViewDependentShadowTechnique::ViewData:
osg::Referenced osgShadow::DebugShadowMap::ViewData osgShadow::StandardShadowMap::ViewData osgShadow::MinimalShadowMap::ViewData osgShadow::MinimalCullBoundsShadowMap::ViewData osgShadow::MinimalDrawBoundsShadowMap::ViewData

Public Member Functions

virtual const char * className () const
 
virtual void init (ViewDependentShadowTechnique *st, osgUtil::CullVisitor *cv)
 
virtual void cull ()
 
virtual void dirty (bool flag)
 
 ViewData ()
 
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 &)
 
virtual void setThreadSafeRefUnref (bool)
 
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
 

Public Attributes

OpenThreads::Mutex _mutex
 
bool _dirty
 
osg::observer_ptr< osgUtil::CullVisitor_cv
 
osg::observer_ptr< ViewDependentShadowTechnique_st
 

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 
- 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
 

Detailed Description

Base container class for view dependent shadow resources. Techniques based on ViewDependentShadowTechnique will usually define similar struct and derive it from ViewData to contain their specufic resources.

Constructor & Destructor Documentation

◆ ViewData()

osgShadow::ViewDependentShadowTechnique::ViewData::ViewData ( void  )
inline

Simple constructor zeroing all variables.

Member Function Documentation

◆ className()

virtual const char * osgShadow::ViewDependentShadowTechnique::ViewData::className ( ) const
inlinevirtual

◆ cull()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::cull ( )
virtual

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

Reimplemented in osgShadow::DebugShadowMap::ViewData, and osgShadow::StandardShadowMap::ViewData.

◆ dirty()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::dirty ( bool  flag)
virtual

Dirty is called by parent ViewDependentShadowTechnique to force update of resources after some of them were modified in parent technique

◆ init()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::init ( ViewDependentShadowTechnique st,
osgUtil::CullVisitor cv 
)
virtual

Method called upon ViewData instance to initialize internal variables

◆ releaseGLObjects()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::releaseGLObjects ( osg::State = 0) const
inlinevirtual

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 in osgShadow::DebugShadowMap::ViewData, osgShadow::MinimalDrawBoundsShadowMap::ViewData, and osgShadow::StandardShadowMap::ViewData.

◆ resizeGLObjectBuffers()

virtual void osgShadow::ViewDependentShadowTechnique::ViewData::resizeGLObjectBuffers ( unsigned int  )
inlinevirtual

Member Data Documentation

◆ _cv

osg::observer_ptr< osgUtil::CullVisitor > osgShadow::ViewDependentShadowTechnique::ViewData::_cv

View's CullVisitor associated with this ViewData instance

◆ _dirty

bool osgShadow::ViewDependentShadowTechnique::ViewData::_dirty

Dirty flag tells this instance to update its resources

◆ _mutex

OpenThreads::Mutex osgShadow::ViewDependentShadowTechnique::ViewData::_mutex

Mutex used to guard _dirty flag from override in case when parent technique calls dirty() simultaneously with ViewData while it is updating resources inside init method.

◆ _st

osg::observer_ptr< ViewDependentShadowTechnique > osgShadow::ViewDependentShadowTechnique::ViewData::_st

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