|
Public Types |
typedef std::map< GLuint,
Vec4 > | LocalParamList |
typedef std::map< GLenum,
Matrix > | MatrixList |
Public Member Functions |
| | VertexProgram () |
| | VertexProgram (const VertexProgram &vp, const CopyOp ©op=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 |
| | Return the modes associated with this StateAttribute.
|
| GLuint & | getVertexProgramID (unsigned int contextID) const |
| | Get the handle to the vertex program ID for the current context.
|
| void | setVertexProgram (const char *program) |
| | Set the vertex program using a C style string.
|
| void | setVertexProgram (const std::string &program) |
| | Set the vertex program using C++ style string.
|
| const std::string & | getVertexProgram () const |
| | Get the vertex program.
|
| void | setProgramLocalParameter (const GLuint index, const Vec4 &p) |
| | Set Program Parameters.
|
| void | setLocalParameters (const LocalParamList &lpl) |
| | Set list of Program Parameters.
|
| LocalParamList & | getLocalParameters () |
| | Get list of Program Parameters.
|
| const LocalParamList & | getLocalParameters () const |
| | Get const list of Program Parameters.
|
| void | setMatrix (const GLenum mode, const Matrix &matrix) |
| | Matrix.
|
| void | setMatrices (const MatrixList &matrices) |
| | Set list of Matrices.
|
| MatrixList & | getMatrices () |
| | Get list of Matrices.
|
| const MatrixList & | getMatrices () const |
| | Get list of Matrices.
|
| void | dirtyVertexProgramObject () |
| | Force a recompile on next apply() of associated OpenGL vertex program objects.
|
| virtual void | apply (State &state) const |
| | apply the OpenGL state attributes.
|
| virtual void | compileGLObjects (State &state) const |
| | default to nothing to compile - all state is applied immediately.
|
| virtual void | releaseGLObjects (State *state=0) const |
| | Release any OpenGL objects in specified graphics context if State object is passed, otherwise release OpenGL objexts for all graphics contexts if State object pointer is NULL.
|
Static Public Member Functions |
| 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.
|
| 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.
|
| Extensions * | getExtensions (unsigned int contextID, bool createIfNotInitalized) |
| | Function to call to get the extension of a specified context.
|
| void | setExtensions (unsigned int contextID, Extensions *extensions) |
| | The setExtensions method allows users to override the extensions across graphics contexts.
|
Protected Types |
| typedef buffered_value< GLuint > | VertexProgramIDList |
Protected Member Functions |
| virtual | ~VertexProgram () |
Protected Attributes |
| VertexProgramIDList | _vertexProgramIDList |
| std::string | _vertexProgram |
| LocalParamList | _programLocalParameters |
| MatrixList | _matrixList |