OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osgUtil::ShaderGenCache Class Reference

#include <ShaderGen.h>

Inheritance diagram for osgUtil::ShaderGenCache:
Inheritance graph
[legend]
Collaboration diagram for osgUtil::ShaderGenCache:
Collaboration graph
[legend]

Public Types

enum  StateMask {
  BLEND = 1, LIGHTING = 2, FOG = 4, DIFFUSE_MAP = 8,
  NORMAL_MAP = 16
}
 
typedef std::map< int,
osg::ref_ptr< osg::StateSet > > 
StateSetMap
 

Public Member Functions

 ShaderGenCache ()
 
void setStateSet (int stateMask, osg::StateSet *program)
 
osg::StateSetgetStateSet (int stateMask) const
 
osg::StateSetgetOrCreateStateSet (int stateMask)
 
- 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
 

Protected Member Functions

osg::StateSetcreateStateSet (int stateMask) const
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

OpenThreads::Mutex _mutex
 
StateSetMap _stateSetMap
 
- 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

Definition at line 29 of file ShaderGen.h.

Member Typedef Documentation

Definition at line 41 of file ShaderGen.h.

Member Enumeration Documentation

Enumerator
BLEND 
LIGHTING 
FOG 
DIFFUSE_MAP 
NORMAL_MAP 

Definition at line 32 of file ShaderGen.h.

Constructor & Destructor Documentation

osgUtil::ShaderGenCache::ShaderGenCache ( )
inline

Definition at line 43 of file ShaderGen.h.

Member Function Documentation

osg::StateSet* osgUtil::ShaderGenCache::createStateSet ( int  stateMask) const
protected
osg::StateSet* osgUtil::ShaderGenCache::getOrCreateStateSet ( int  stateMask)
osg::StateSet* osgUtil::ShaderGenCache::getStateSet ( int  stateMask) const
void osgUtil::ShaderGenCache::setStateSet ( int  stateMask,
osg::StateSet program 
)

Member Data Documentation

OpenThreads::Mutex osgUtil::ShaderGenCache::_mutex
mutableprotected

Definition at line 51 of file ShaderGen.h.

StateSetMap osgUtil::ShaderGenCache::_stateSetMap
protected

Definition at line 52 of file ShaderGen.h.


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