OpenSceneGraph 3.6.5
|
PerContextShader (PCS) is an OSG-internal encapsulation of glShader per-GL context. More...
#include <Shader>
Public Member Functions | |
PerContextShader (const Shader *shader, unsigned int contextID) | |
void | setDefineString (const std::string &defStr) |
const std::string & | getDefineString () const |
GLuint | getHandle () const |
void | requestCompile () |
void | compileShader (osg::State &state) |
bool | needsCompile () const |
bool | isCompiled () const |
bool | getInfoLog (std::string &infoLog) const |
void | attachShader (GLuint program) const |
Attach our glShader to a glProgram. | |
void | detachShader (GLuint program) const |
Detach our glShader from a glProgram. | |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead. | |
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. | |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. | |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). | |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. | |
Protected Member Functions | |
~PerContextShader () | |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Protected Attributes | |
const Shader * | _shader |
Pointer to our parent osg::Shader. | |
osg::ref_ptr< osg::GLExtensions > | _extensions |
Pointer to this context's extension functions. | |
GLuint | _glShaderHandle |
Handle to the actual glShader. | |
std::string | _defineStr |
Define string passed on to Shaders to help configure them. | |
bool | _needsCompile |
Does our glShader need to be recompiled? | |
bool | _isCompiled |
Is our glShader successfully compiled? | |
const unsigned int | _contextID |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. | |
PerContextShader (PCS) is an OSG-internal encapsulation of glShader per-GL context.
osg::Shader::PerContextShader::PerContextShader | ( | const Shader * | shader, |
unsigned int | contextID ) |
|
protected |
void osg::Shader::PerContextShader::attachShader | ( | GLuint | program | ) | const |
Attach our glShader to a glProgram.
void osg::Shader::PerContextShader::compileShader | ( | osg::State & | state | ) |
void osg::Shader::PerContextShader::detachShader | ( | GLuint | program | ) | const |
Detach our glShader from a glProgram.
|
inline |
|
inline |
bool osg::Shader::PerContextShader::getInfoLog | ( | std::string & | infoLog | ) | const |
|
inline |
|
inline |
void osg::Shader::PerContextShader::requestCompile | ( | ) |
|
inline |
|
protected |
|
protected |
Define string passed on to Shaders to help configure them.
|
protected |
Pointer to this context's extension functions.
|
protected |
Handle to the actual glShader.
|
protected |
Is our glShader successfully compiled?
|
protected |
Does our glShader need to be recompiled?
|
protected |
Pointer to our parent osg::Shader.
![]() | Generated at Wed Apr 24 2024 00:00:00 for the OpenSceneGraph by doxygen 1.10.0. |