Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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

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

Attach our glShader to a glProgram.

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

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:
Generated at Thu Nov 24 16:23:45 2005 for the OpenSceneGraph by doxygen 1.3.6.