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:

[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:

- Shader