|
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 |