openscenegraph
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osg::Shader::PerContextShader Class Reference
Inheritance diagram for osg::Shader::PerContextShader:
osg::Referenced

Public Member Functions

 PerContextShader (const Shader *shader, unsigned int contextID)
GLuint getHandle () const
void requestCompile ()
void compileShader (osg::State &state)
bool needsCompile () const
bool isCompiled () const
bool getInfoLog (std::string &infoLog) const
void attachShader (GLuint program) const
void detachShader (GLuint program) const
- 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

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

Protected Attributes

const Shader_shader
osg::ref_ptr< osg::GL2Extensions_extensions
GLuint _glShaderHandle
bool _needsCompile
bool _isCompiled
const unsigned int _contextID
- 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

PerContextShader (PCS) is an OSG-internal encapsulation of glShader per-GL context.

Constructor & Destructor Documentation

osg::Shader::PerContextShader::PerContextShader ( const Shader shader,
unsigned int  contextID 
)
osg::Shader::PerContextShader::~PerContextShader ( )
protected

Member Function Documentation

void osg::Shader::PerContextShader::attachShader ( GLuint  program) const

Attach our glShader to a glProgram

void osg::Shader::PerContextShader::compileShader ( osg::State state)
void osg::Shader::PerContextShader::detachShader ( GLuint  program) const

Detach our glShader from a glProgram

GLuint osg::Shader::PerContextShader::getHandle ( ) const
inline
bool osg::Shader::PerContextShader::getInfoLog ( std::string &  infoLog) const
bool osg::Shader::PerContextShader::isCompiled ( ) const
inline
bool osg::Shader::PerContextShader::needsCompile ( ) const
inline
void osg::Shader::PerContextShader::requestCompile ( )

Member Data Documentation

const unsigned int osg::Shader::PerContextShader::_contextID
protected
osg::ref_ptr<osg::GL2Extensions> osg::Shader::PerContextShader::_extensions
protected

Pointer to this context's extension functions.

GLuint osg::Shader::PerContextShader::_glShaderHandle
protected

Handle to the actual glShader.

bool osg::Shader::PerContextShader::_isCompiled
protected

Is our glShader successfully compiled?

bool osg::Shader::PerContextShader::_needsCompile
protected

Does our glShader need to be recompiled?

const Shader* osg::Shader::PerContextShader::_shader
protected

Pointer to our parent osg::Shader


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