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

osgGL2::ProgramObject::PerContextProgObj Class Reference

PCPO is an OSG-internal encapsulation of glProgramObjects per-GL context. More...

Inheritance diagram for osgGL2::ProgramObject::PerContextProgObj:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PerContextProgObj (const ProgramObject *progObj, unsigned int contextID)
 PerContextProgObj (const PerContextProgObj &rhs)
GLhandleARBgetHandle ()
bool isDirty () const
void markAsDirty ()
void build ()
void use () const
void updateUniforms (const UniformValueList &univalList)
 Add a list of UniformValues to our per-context queue.
void applyUniformValues ()
 Apply our queue of pending UniformValue updates to the glProgramObjects.

Protected Member Functions

 PerContextProgObj ()
 ~PerContextProgObj ()

Protected Attributes

const ProgramObject_progObj
 Pointer to our parent ProgramObject.
osg::ref_ptr< Extensions_extensions
 Pointer to this context's extension functions.
GLhandleARB _glProgObjHandle
 Handle to the actual glProgramObject.
bool _dirty
 Do we need to be linked?
UniformValueList _univalList
 Queue of UniformValues awaiting assignment.
const unsigned int _contextID

Detailed Description

PCPO is an OSG-internal encapsulation of glProgramObjects per-GL context.


Constructor & Destructor Documentation

ProgramObject::PerContextProgObj::PerContextProgObj const ProgramObject progObj,
unsigned int  contextID
 

ProgramObject::PerContextProgObj::PerContextProgObj const PerContextProgObj rhs  ) 
 

osgGL2::ProgramObject::PerContextProgObj::PerContextProgObj  )  [protected]
 

ProgramObject::PerContextProgObj::~PerContextProgObj  )  [protected]
 


Member Function Documentation

void ProgramObject::PerContextProgObj::applyUniformValues  ) 
 

Apply our queue of pending UniformValue updates to the glProgramObjects.

void ProgramObject::PerContextProgObj::build  ) 
 

GLhandleARB& osgGL2::ProgramObject::PerContextProgObj::getHandle  )  [inline]
 

bool osgGL2::ProgramObject::PerContextProgObj::isDirty  )  const [inline]
 

void osgGL2::ProgramObject::PerContextProgObj::markAsDirty  )  [inline]
 

void ProgramObject::PerContextProgObj::updateUniforms const UniformValueList univalList  ) 
 

Add a list of UniformValues to our per-context queue.

void ProgramObject::PerContextProgObj::use  )  const
 


Member Data Documentation

const unsigned int osgGL2::ProgramObject::PerContextProgObj::_contextID [protected]
 

bool osgGL2::ProgramObject::PerContextProgObj::_dirty [protected]
 

Do we need to be linked?

osg::ref_ptr<Extensions> osgGL2::ProgramObject::PerContextProgObj::_extensions [protected]
 

Pointer to this context's extension functions.

GLhandleARB osgGL2::ProgramObject::PerContextProgObj::_glProgObjHandle [protected]
 

Handle to the actual glProgramObject.

const ProgramObject* osgGL2::ProgramObject::PerContextProgObj::_progObj [protected]
 

Pointer to our parent ProgramObject.

UniformValueList osgGL2::ProgramObject::PerContextProgObj::_univalList [protected]
 

Queue of UniformValues awaiting assignment.


The documentation for this class was generated from the following files:
Generated at Thu Oct 13 09:03:43 2005 for the OpenSceneGraph by doxygen 1.4.1.