VertexProgram - encapsulates the OpenGL ARB vertex program state
Inheritance:
Public Classes
-
class SG_EXPORT Extensions: public osg::Referenced
- Extensions class which encapsulates the querring of extensions and associated function pointers, and provide convinience wrappers to check for the extensions or use the associated functions
Public Methods
-
VertexProgram()
-
VertexProgram(const VertexProgram& vp, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
-
META_StateAttribute(osg, VertexProgram, VERTEXPROGRAM)
-
virtual int compare(const osg::StateAttribute& sa) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
-
virtual bool getModeUsage(ModeUsage& usage) const
-
inline GLuint& getVertexProgramID(unsigned int contextID) const
- Get the handle to the vertex program id for the current context
-
inline void setVertexProgram( const std::string& program )
- Set the vertex program using C++ style string
-
inline void setVertexProgram( const char* program )
- Set the vertex program using a C style string
-
inline const std::string& getVertexProgram() const
- Get the vertex program
-
inline void setProgramLocalParameter(const GLuint index, const Vec4& p)
- Program Parameters
-
inline void setMatrix(const GLenum mode, const Matrix& matrix)
- Matrix
-
void dirtyVertexProgramObject()
- Force a recompile on next apply() of associated OpenGL vertex program objects
-
static void deleteVertexProgramObject(unsigned int contextID, GLuint handle)
- use deleteVertexProgramObject instead of glDeletePrograms to allow OpenGL Vertex Program objects to cached until they can be deleted by the OpenGL context in which they were created, specified by contextID
-
static void flushDeletedVertexProgramObjects(unsigned int contextID, double currentTime, double& availableTime)
- flush all the cached vertex programs which need to be deleted in the OpenGL context related to contextID
-
virtual void apply(State& state) const
-
virtual void compileGLObjects(State& state) const
-
virtual void releaseGLObjects(State* state=0) const
- release an OpenGL objects in specified graphics context if State object is passed, otherwise release OpenGL objexts for all graphics context if State object pointer NULL
-
static Extensions* getExtensions(unsigned int contextID, bool createIfNotInitalized)
- Function to call to get the extension of a specified context.
-
static void setExtensions(unsigned int contextID, Extensions* extensions)
- setExtensions allows users to override the extensions across graphics contexts.
Protected Fields
-
mutable VertexProgramIDList _vertexProgramIDList
-
std::string _vertexProgram
-
LocalParamList _programLocalParameters
-
MatrixList _matrixList
Protected Methods
-
virtual ~VertexProgram()
Protected
-
typedef buffered_value<GLuint> VertexProgramIDList
-
typedef std::map<GLuint,Vec4> LocalParamList
-
typedef std::map<GLenum,Matrix> MatrixList
Public Classes
-
enum Values
-
enum Types
-
struct ModeUsage
Public Methods
-
virtual Object* cloneType() const
-
virtual Object* clone(const CopyOp&) const
-
virtual bool isSameKindAs(const Object* obj) const
-
virtual const char* libraryName() const
-
virtual const char* className() const
-
virtual Type getType() const
-
virtual bool isTextureAttribute() const
-
bool operator < (const StateAttribute& rhs) const
-
bool operator == (const StateAttribute& rhs) const
-
bool operator != (const StateAttribute& rhs) const
Public
-
typedef GLenum GLMode
-
typedef unsigned int GLModeValue
-
typedef unsigned int OverrideValue
-
typedef unsigned int Type
Inherited from Object:
Public Classes
-
enum DataVariance
Public Methods
-
inline void setDataVariance(DataVariance dv)
-
inline DataVariance getDataVariance() const
-
inline void setUserData(Referenced* obj)
-
inline Referenced* getUserData()
-
inline const Referenced* getUserData() const
Protected Fields
-
DataVariance _dataVariance
-
ref_ptr<Referenced> _userData
Public Methods
-
inline Referenced& operator = (const Referenced&)
-
static void setDeleteHandler(DeleteHandler* handler)
-
static DeleteHandler* getDeleteHandler()
-
inline void ref() const
-
inline void unref_nodelete() const
-
inline int referenceCount() const
-
inline void unref() const
Protected Fields
-
mutable OpenThreads::Mutex _refMutex
-
mutable int _refCount
Documentation
VertexProgram - encapsulates the OpenGL ARB vertex program state
- VertexProgram()
- VertexProgram(const VertexProgram& vp, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
- META_StateAttribute(osg, VertexProgram, VERTEXPROGRAM)
- virtual int compare(const osg::StateAttribute& sa) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
- virtual bool getModeUsage(ModeUsage& usage) const
- inline GLuint& getVertexProgramID(unsigned int contextID) const
- Get the handle to the vertex program id for the current context
- inline void setVertexProgram( const std::string& program )
- Set the vertex program using C++ style string
- inline void setVertexProgram( const char* program )
- Set the vertex program using a C style string
- inline const std::string& getVertexProgram() const
- Get the vertex program
- inline void setProgramLocalParameter(const GLuint index, const Vec4& p)
- Program Parameters
- inline void setMatrix(const GLenum mode, const Matrix& matrix)
- Matrix
- void dirtyVertexProgramObject()
- Force a recompile on next apply() of associated OpenGL vertex program objects
- static void deleteVertexProgramObject(unsigned int contextID, GLuint handle)
- use deleteVertexProgramObject instead of glDeletePrograms to allow
OpenGL Vertex Program objects to cached until they can be deleted
by the OpenGL context in which they were created, specified
by contextID
- static void flushDeletedVertexProgramObjects(unsigned int contextID, double currentTime, double& availableTime)
- flush all the cached vertex programs which need to be deleted
in the OpenGL context related to contextID
- virtual void apply(State& state) const
- virtual void compileGLObjects(State& state) const
- virtual void releaseGLObjects(State* state=0) const
- release an OpenGL objects in specified graphics context if State
object is passed, otherwise release OpenGL objexts for all graphics context if
State object pointer NULL
- static Extensions* getExtensions(unsigned int contextID, bool createIfNotInitalized)
- Function to call to get the extension of a specified context.
If the Exentsion object for that context has not yet been created then
and the 'createIfNotInitalized' flag been set to false then returns NULL.
If 'createIfNotInitalized' is true then the Extensions object is
automatically created. However, in this case the extension object
only be created with the graphics context associated with ContextID..
- static void setExtensions(unsigned int contextID, Extensions* extensions)
- setExtensions allows users to override the extensions across graphics contexts.
typically used when you have different extensions supported across graphics pipes
but need to ensure that they all use the same low common denominator extensions.
- virtual ~VertexProgram()
- typedef buffered_value<GLuint> VertexProgramIDList
- mutable VertexProgramIDList _vertexProgramIDList
- std::string _vertexProgram
- typedef std::map<GLuint,Vec4> LocalParamList
- LocalParamList _programLocalParameters
- typedef std::map<GLenum,Matrix> MatrixList
- MatrixList _matrixList
- This class has no child classes.
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.