Encapsulates the OpenGL Shading Language ProgramObject
Inheritance:
Public Methods
-
ProgramObject()
-
ProgramObject(const ProgramObject& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
-
META_StateAttribute(osgGL2, ProgramObject, PROGRAMOBJECT)
-
virtual int compare(const osg::StateAttribute& sa) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
-
virtual void getAssociatedModes(std::vector<GLMode>& ) const
-
virtual void apply(osg::State& state) const
-
virtual void compile(osg::State& state) const
-
void dirtyProgramObject()
- Force a relink on next apply() of associated glProgramObject.
-
void addShader( ShaderObject* shader )
-
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
-
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
-
ShaderObjectList _shaderObjectList
-
mutable PCPOList _pcpoList
Protected Methods
-
virtual ~ProgramObject()
-
PerContextProgObj* getPCPO(unsigned int contextID) const
Protected Members
-
typedef std::vector< osg::ref_ptr<ShaderObject> > ShaderObjectList
-
class OSGGL2_EXPORT PerContextProgObj: public osg::Referenced
-
typedef osg::buffered_value< osg::ref_ptr<PerContextProgObj> > PCPOList
Documentation
Encapsulates the OpenGL Shading Language ProgramObject
ProgramObject()
ProgramObject(const ProgramObject& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
META_StateAttribute(osgGL2, ProgramObject, PROGRAMOBJECT)
virtual int compare(const osg::StateAttribute& sa) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
virtual void getAssociatedModes(std::vector<GLMode>& ) const
virtual void apply(osg::State& state) const
virtual void compile(osg::State& state) const
void dirtyProgramObject()
- Force a relink on next apply() of associated glProgramObject.
void addShader( ShaderObject* shader )
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
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
virtual ~ProgramObject()
typedef std::vector< osg::ref_ptr<ShaderObject> > ShaderObjectList
ShaderObjectList _shaderObjectList
typedef osg::buffered_value< osg::ref_ptr<PerContextProgObj> > PCPOList
mutable PCPOList _pcpoList
PerContextProgObj* 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++.