|
| PerContextProgram (const Program *program, unsigned int contextID, GLuint programHandle=0) |
| Use "0" as programHandle to let the PeContextProgram execute "glCreateProgram"and "glDeleteProgram".
|
|
GLuint | getHandle () const |
|
const osg::Program * | getProgram () const |
|
void | setDefineString (const std::string &defStr) |
|
const std::string & | getDefineString () const |
|
void | requestLink () |
|
virtual void | linkProgram (osg::State &state) |
|
virtual bool | validateProgram () |
|
bool | needsLink () const |
|
bool | isLinked () const |
|
virtual bool | getInfoLog (std::string &infoLog) const |
|
bool | loadedBinary () const |
| Was glProgramBinary called successfully?
|
|
virtual ProgramBinary * | compileProgramBinary (osg::State &state) |
| Compile a program binary. More...
|
|
virtual void | useProgram () const |
|
void | resetAppliedUniforms () const |
|
void | apply (const Uniform &uniform) const |
|
const ActiveUniformMap & | getActiveUniforms () const |
|
const ActiveVarInfoMap & | getActiveAttribs () const |
|
const UniformBlockMap & | getUniformBlocks () const |
|
GLint | getUniformLocation (unsigned int uniformNameID) const |
|
GLint | getUniformLocation (const std::string &uniformName) const |
| Alternative version of getUniformLocation( unsigned int uniformNameID ) retrofited into OSG for backward compatibility with osgCal, after uniform ids were refactored from std::strings to GLints in OSG version 2.9.10. More...
|
|
GLint | getAttribLocation (const std::string &name) const |
|
void | addShaderToAttach (Shader *shader) |
|
void | addShaderToDetach (Shader *shader) |
|
| Referenced (bool threadSafeRefUnref) |
|
| Referenced (const Referenced &) |
|
Referenced & | operator= (const Referenced &) |
|
virtual void | setThreadSafeRefUnref (bool threadSafe) |
| Set whether to use a mutex to ensure ref() and unref() are thread safe. More...
|
|
bool | getThreadSafeRefUnref () const |
| Get whether a mutex is used to ensure ref() and unref() are thread safe. More...
|
|
bool | getThreadSafeRefUnref () const |
|
OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref(). More...
|
|
OpenThreads::Mutex * | getRefMutex () const |
|
int | ref () const |
| Increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
|
|
int | unref () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
|
int | unref_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
|
int | referenceCount () const |
| Return the number of pointers currently referencing this object. More...
|
|
ObserverSet * | getObserverSet () const |
| Get the ObserverSet if one is attached, otherwise return NULL. More...
|
|
ObserverSet * | getOrCreateObserverSet () const |
| Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More...
|
|
void | addObserver (Observer *observer) const |
| Add a Observer that is observing this object, notify the Observer when this object gets deleted. More...
|
|
void | removeObserver (Observer *observer) const |
| Remove Observer that is observing this object. More...
|
|
PerContextProgram (PCP) is an OSG-internal encapsulation of glPrograms per-GL context.