|
| PerContextProgram (const Program *program, unsigned int contextID, GLuint programHandle=0) |
| Use "0" as programHandle to let the PeContextProgram execute "glCreateProgram"and "glDeleteProgram". More...
|
|
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? More...
|
|
virtual ProgramBinary * | compileProgramBinary (osg::State &state) |
| Compile a program binary. More...
|
|
virtual void | useProgram () const |
|
void | resetAppliedUniforms () const |
|
void | apply (const UniformBase &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 () |
|
| Referenced (bool threadSafeRefUnref) |
| Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead. More...
|
|
| Referenced (const Referenced &) |
|
Referenced & | operator= (const Referenced &) |
|
virtual void | setThreadSafeRefUnref (bool) |
| Deprecated, Referenced is always theadsafe so there method now has no effect and does not need to be called. More...
|
|
bool | getThreadSafeRefUnref () const |
| Get whether a mutex is used to ensure ref() and unref() are thread safe. More...
|
|
OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref(). More...
|
|
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.
GLint osg::Program::PerContextProgram::getUniformLocation |
( |
const std::string & |
uniformName | ) |
const |
|
inline |
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.
Drawbacks: This method is not particularly fast. It has to access mutexed static map of uniform ids. So don't overuse it or your app performance will suffer.
References getUniformLocation().
Referenced by getUniformLocation().