class OSGGL2_EXPORT osgGL2::ProgramObject

Encapsulates the OpenGL Shading Language ProgramObject

Inheritance:


Public Methods

[more] ProgramObject()
[more] ProgramObject(const ProgramObject& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy
[more] META_StateAttribute(osgGL2, ProgramObject, PROGRAMOBJECT)
[more]virtual int compare(const osg::StateAttribute& sa) const
return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
[more]virtual void getAssociatedModes(std::vector<GLMode>& ) const
[more]virtual void apply(osg::State& state) const
[more]virtual void compile(osg::State& state) const
[more]void dirtyProgramObject()
Force a relink on next apply() of associated glProgramObject.
[more]void addShader( ShaderObject* shader )
[more]static void deleteObject(unsigned int contextID, GLhandleARB handle)
use deleteObject instead of glDeleteObject to allow GL2 Objects to cached until they can be deleted by the OpenGL context in which they were created, specified by contextID
[more]static void flushDeletedGL2Objects(unsigned int contextID, double currentTime, double& availableTime)
flush all the cached glProgramObjects which need to be deleted in the OpenGL context related to contextID

Protected Fields

[more]ShaderObjectList _shaderObjectList
[more]mutable PCPOList _pcpoList

Protected Methods

[more]virtual ~ProgramObject()
[more]PerContextProgObj* getPCPO(unsigned int contextID) const

Protected Members

[more]typedef std::vector< osg::ref_ptr<ShaderObject> > ShaderObjectList
class OSGGL2_EXPORT PerContextProgObj: public osg::Referenced
[more]typedef osg::buffered_value< osg::ref_ptr<PerContextProgObj> > PCPOList


Documentation

Encapsulates the OpenGL Shading Language ProgramObject
o ProgramObject()

o ProgramObject(const ProgramObject& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy

o META_StateAttribute(osgGL2, ProgramObject, PROGRAMOBJECT)

ovirtual int compare(const osg::StateAttribute& sa) const
return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs

ovirtual void getAssociatedModes(std::vector<GLMode>& ) const

ovirtual void apply(osg::State& state) const

ovirtual void compile(osg::State& state) const

ovoid dirtyProgramObject()
Force a relink on next apply() of associated glProgramObject.

ovoid addShader( ShaderObject* shader )

ostatic void deleteObject(unsigned int contextID, GLhandleARB handle)
use deleteObject instead of glDeleteObject to allow GL2 Objects to cached until they can be deleted by the OpenGL context in which they were created, specified by contextID

ostatic void flushDeletedGL2Objects(unsigned int contextID, double currentTime, double& availableTime)
flush all the cached glProgramObjects which need to be deleted in the OpenGL context related to contextID

ovirtual ~ProgramObject()

otypedef std::vector< osg::ref_ptr<ShaderObject> > ShaderObjectList

oShaderObjectList _shaderObjectList

otypedef osg::buffered_value< osg::ref_ptr<PerContextProgObj> > PCPOList

omutable PCPOList _pcpoList

oPerContextProgObj* getPCPO(unsigned int contextID) const


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.