Inheritance diagram for osg::Program:
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) | |
META_StateAttribute (osg, Program, PROGRAM) | |
virtual int | compare (const osg::StateAttribute &sa) const |
virtual void | apply (osg::State &state) const |
virtual void | compileGLObjects (osg::State &state) const |
virtual void | releaseGLObjects (osg::State *state=0) const |
void | dirtyProgram () |
bool | addShader (Shader *shader) |
unsigned int | getNumShaders () const |
Shader * | getShader (unsigned int i) |
const Shader * | getShader (unsigned int i) const |
bool | removeShader (Shader *shader) |
void | addBindAttribLocation (const std::string &name, GLuint index) |
void | removeBindAttribLocation (const std::string &name) |
const AttribBindingList & | getAttribBindingList () const |
bool | isFixedFunction () const |
bool | getGlProgramInfoLog (unsigned int contextID, std::string &log) const |
void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
const NameInfoMap & | getActiveUniforms (unsigned int contextID) const |
const NameInfoMap & | getActiveAttribs (unsigned int contextID) const |
PerContextProgram * | getPCP (unsigned int contextID) const |
Static Public Member Functions | |
static void | deleteGlProgram (unsigned int contextID, GLuint program) |
static void | flushDeletedGlPrograms (unsigned int contextID, double currentTime, double &availableTime) |
Protected Types | |
typedef std::vector< ref_ptr< Shader > > | ShaderList |
Protected Member Functions | |
virtual | ~Program () |
Protected Attributes | |
std::string | _name |
osg::buffered_value< osg::ref_ptr< PerContextProgram > > | _pcpList |
AttribBindingList | _attribBindingList |
ShaderList | _shaderList |
Friends | |
class | PerContextProgram |
Classes | |
class | PerContextProgram |
|
|
|
|
|
|
|
|
|
Copy constructor using CopyOp to manage deep vs shallow copy. |
|
|
|
Add an attribute location binding. |
|
Attach an osg::Shader to this osg::Program. Mark Program as needing relink. Return true for success |
|
If enabled, activate our program in the GL pipeline, performing any rebuild operations that might be pending. Implements osg::StateAttribute. |
|
return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. Implements osg::StateAttribute. |
|
default to nothing to compile - all state is applied immediately. Reimplemented from osg::StateAttribute. |
|
Mark internal glProgram for deletion. Deletion requests are queued until they can be executed in the proper GL context. |
|
Mark our PCSOs as needing relink |
|
flush all the cached glPrograms which need to be deleted in the OpenGL context related to contextID. |
|
|
|
|
|
|
|
Query InfoLog from a glProgram |
|
|
|
|
|
Get the PCP for a particular GL context |
|
|
|
|
|
Return true if this Program represents "fixed-functionality" rendering |
|
|
|
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. Reimplemented from osg::StateAttribute. |
|
Add an attribute location binding. |
|
Remove osg::Shader from this osg::Program. Mark Program as needing relink. Return true for success |
|
|
|
A name for use by the application |
|
|
|
|
|
|
|
|
|
|