osg::Shader::PerContextShader Class Reference

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

Inheritance diagram for osg::Shader::PerContextShader:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 PerContextShader (const Shader *shader, unsigned int contextID)
GLuint getHandle () const
void requestCompile ()
void compileShader ()
bool needsCompile () const
bool isCompiled () const
bool getInfoLog (std::string &infoLog) const
void attachShader (GLuint program) const
 Attach our glShader to a glProgram.
void detachShader (GLuint program) const
 Detach our glShader from a glProgram.

Protected Member Functions

 ~PerContextShader ()

Protected Attributes

const Shader_shader
 Pointer to our parent osg::Shader.
osg::ref_ptr
< osg::GL2Extensions
_extensions
 Pointer to this context's extension functions.
GLuint _glShaderHandle
 Handle to the actual glShader.
bool _needsCompile
 Does our glShader need to be recompiled?
bool _isCompiled
 Is our glShader successfully compiled?
const unsigned int _contextID


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

GLuint osg::Shader::PerContextShader::getHandle (  )  const [inline]

void osg::Shader::PerContextShader::requestCompile (  ) 

void osg::Shader::PerContextShader::compileShader (  ) 

bool osg::Shader::PerContextShader::needsCompile (  )  const [inline]

bool osg::Shader::PerContextShader::isCompiled (  )  const [inline]

bool osg::Shader::PerContextShader::getInfoLog ( std::string &  infoLog  )  const

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

Attach our glShader to a glProgram.

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

Detach our glShader from a glProgram.


Member Data Documentation

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

Pointer to our parent osg::Shader.

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::_needsCompile [protected]

Does our glShader need to be recompiled?

bool osg::Shader::PerContextShader::_isCompiled [protected]

Is our glShader successfully compiled?

const unsigned int osg::Shader::PerContextShader::_contextID [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:15 2007 for the OpenSceneGraph by doxygen 1.5.3.