|
Public Types |
typedef std::map< std::string,
GLuint > | AttribBindingList |
typedef std::map< std::string,
std::pair< GLint, GLenum > > | NameInfoMap |
Public Member Functions |
| | Program () |
| | Program (const Program &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
| | Copy constructor using CopyOp to manage deep vs shallow copy.
|
| | META_StateAttribute (osg, Program, PROGRAM) |
| virtual int | compare (const osg::StateAttribute &sa) const |
| | return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
|
| virtual void | apply (osg::State &state) const |
| | If enabled, activate our program in the GL pipeline, performing any rebuild operations that might be pending.
|
| virtual void | compileGLObjects (osg::State &state) const |
| | default to nothing to compile - all state is applied immediately.
|
| virtual void | releaseGLObjects (osg::State *state=0) const |
| | release OpenGL objects in specified graphics context if State object is passed, otherwise release OpenGL objects for all graphics context if State object pointer NULL.
|
| void | dirtyProgram () |
| | Mark our PCSOs as needing relink.
|
| bool | addShader (Shader *shader) |
| | Attach an osg::Shader to this osg::Program.
|
| unsigned int | getNumShaders () const |
| Shader * | getShader (unsigned int i) |
| const Shader * | getShader (unsigned int i) const |
| bool | removeShader (Shader *shader) |
| | Remove osg::Shader from this osg::Program.
|
| void | addBindAttribLocation (const std::string &name, GLuint index) |
| | Add an attribute location binding.
|
| void | removeBindAttribLocation (const std::string &name) |
| | Add an attribute location binding.
|
| const AttribBindingList & | getAttribBindingList () const |
| bool | isFixedFunction () const |
| | Return true if this Program represents "fixed-functionality" rendering.
|
| bool | getGlProgramInfoLog (unsigned int contextID, std::string &log) const |
| | Query InfoLog from a glProgram.
|
| const NameInfoMap & | getActiveUniforms (unsigned int contextID) const |
| const NameInfoMap & | getActiveAttribs (unsigned int contextID) const |
| PerContextProgram * | getPCP (unsigned int contextID) const |
| | Get the PCP for a particular GL context.
|
Static Public Member Functions |
| void | deleteGlProgram (unsigned int contextID, GLuint program) |
| | Mark internal glProgram for deletion.
|
| void | flushDeletedGlPrograms (unsigned int contextID, double currentTime, double &availableTime) |
| | flush all the cached glPrograms which need to be deleted in the OpenGL context related to contextID.
|
Protected Types |
typedef std::vector< ref_ptr<
Shader > > | ShaderList |
Protected Member Functions |
| virtual | ~Program () |
Protected Attributes |
osg::buffered_value< osg::ref_ptr<
PerContextProgram > > | _pcpList |
| AttribBindingList | _attribBindingList |
| ShaderList | _shaderList |