# osgGL2::ShaderObject::PerContextShaderObj Class Reference

PCSO is an OSG-internal encapsulation of glShaderObjects per-GL context. More...

Inheritance diagram for osgGL2::ShaderObject::PerContextShaderObj:

[legend]
List of all members.

## Public Member Functions

| PerContextShaderObj (const ShaderObject *shadObj, unsigned int contextID)
| PerContextShaderObj (const PerContextShaderObj &rhs)
GLhandleARB & | getHandle ()
bool | isDirty () const
void | markAsDirty ()
void | build ()
void | attach (GLhandleARB progObj) const
| Attach our glShaderObject to a glProgramObject.

## Protected Member Functions

| PerContextShaderObj ()
| ~PerContextShaderObj ()

## Protected Attributes

const ShaderObject * | _shadObj
| Pointer to our parent ShaderObject.
osg::ref_ptr< Extensions > | _extensions
| Pointer to this context's extension functions.
GLhandleARB | _glShaderObjHandle
| Handle to the actual glShaderObject.
bool | _dirty
| Do we need to be recompiled?
const unsigned int | _contextID

## Detailed Description

PCSO is an OSG-internal encapsulation of glShaderObjects per-GL context.

## Constructor & Destructor Documentation

ShaderObject::PerContextShaderObj::PerContextShaderObj | ( | const ShaderObject * | shadObj,
|  | unsigned int | contextID
| ) |

ShaderObject::PerContextShaderObj::PerContextShaderObj | ( | const PerContextShaderObj & | rhs | ) |

osgGL2::ShaderObject::PerContextShaderObj::PerContextShaderObj | ( |  | ) | `[protected]`

ShaderObject::PerContextShaderObj::~PerContextShaderObj | ( |  | ) | `[protected]`

## Member Function Documentation

void ShaderObject::PerContextShaderObj::attach | ( | GLhandleARB | progObj | ) | const

| Attach our glShaderObject to a glProgramObject.

void ShaderObject::PerContextShaderObj::build | ( |  | ) |

GLhandleARB& osgGL2::ShaderObject::PerContextShaderObj::getHandle | ( |  | ) | `[inline]`

bool osgGL2::ShaderObject::PerContextShaderObj::isDirty | ( |  | ) | const`[inline]`

void osgGL2::ShaderObject::PerContextShaderObj::markAsDirty | ( |  | ) | `[inline]`

## Member Data Documentation

const unsigned int osgGL2::ShaderObject::PerContextShaderObj::_contextID `[protected]`

bool osgGL2::ShaderObject::PerContextShaderObj::_dirty `[protected]`

| Do we need to be recompiled?

osg::ref_ptr<Extensions> osgGL2::ShaderObject::PerContextShaderObj::_extensions `[protected]`

| Pointer to this context's extension functions.

GLhandleARB osgGL2::ShaderObject::PerContextShaderObj::_glShaderObjHandle `[protected]`

| Handle to the actual glShaderObject.

const ShaderObject* osgGL2::ShaderObject::PerContextShaderObj::_shadObj `[protected]`

| Pointer to our parent ShaderObject.

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

- ProgramObject
- ProgramObject.cpp