OpenSceneGraph
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
osg::GLExtensions Class Reference

Main GLExtensions class for managing OpenGL extensions per graphics context. More...

Inheritance diagram for osg::GLExtensions:
Inheritance graph
[legend]
Collaboration diagram for osg::GLExtensions:
Collaboration graph
[legend]

Public Member Functions

 GLExtensions (unsigned int contextID)
 
GLuint getCurrentProgram () const
 
bool getProgramInfoLog (GLuint program, std::string &result) const
 
bool getShaderInfoLog (GLuint shader, std::string &result) const
 
bool getAttribLocation (const char *attribName, GLuint &slot) const
 
bool getFragDataLocation (const char *fragDataName, GLuint &slot) const
 
 void (GL_APIENTRY *glDrawBuffers)(GLsizei n
 
 void (GL_APIENTRY *glAttachShader)(GLuint program
 
 void (GL_APIENTRY *glBindAttribLocation)(GLuint program
 
 void (GL_APIENTRY *glCompileShader)(GLuint shader)
 
 GLuint (GL_APIENTRY *glCreateProgram)(void)
 
 GLuint (GL_APIENTRY *glCreateShader)(GLenum type)
 
 void (GL_APIENTRY *glDeleteProgram)(GLuint program)
 
 void (GL_APIENTRY *glDeleteObjectARB)(GLuint program)
 
 void (GL_APIENTRY *glDeleteShader)(GLuint shader)
 
 void (GL_APIENTRY *glDetachShader)(GLuint program
 
 void (GL_APIENTRY *glDisableVertexAttribArray)(GLuint index)
 
 void (GL_APIENTRY *glEnableVertexAttribArray)(GLuint index)
 
 void (GL_APIENTRY *glGetActiveAttrib)(GLuint program
 
 void (GL_APIENTRY *glGetActiveUniform)(GLuint program
 
 void (GL_APIENTRY *glGetAttachedShaders)(GLuint program
 
 GLint (GL_APIENTRY *glGetAttribLocation)(GLuint program
 
 void (GL_APIENTRY *glGetProgramiv)(GLuint program
 
 void (GL_APIENTRY *glGetObjectParameterivARB)(GLuint program
 
 void (GL_APIENTRY *glGetProgramInfoLog)(GLuint program
 
 void (GL_APIENTRY *glGetInfoLogARB)(GLuint program
 
 void (GL_APIENTRY *glGetShaderiv)(GLuint shader
 
 void (GL_APIENTRY *glGetShaderInfoLog)(GLuint shader
 
 void (GL_APIENTRY *glGetShaderSource)(GLuint shader
 
 GLint (GL_APIENTRY *glGetUniformLocation)(GLuint program
 
 void (GL_APIENTRY *glGetUniformfv)(GLuint program
 
 void (GL_APIENTRY *glGetUniformiv)(GLuint program
 
 void (GL_APIENTRY *glGetVertexAttribdv)(GLuint index
 
 void (GL_APIENTRY *glGetVertexAttribfv)(GLuint index
 
 void (GL_APIENTRY *glGetVertexAttribiv)(GLuint index
 
 void (GL_APIENTRY *glGetVertexAttribPointerv)(GLuint index
 
 GLboolean (GL_APIENTRY *glIsProgram)(GLuint program)
 
 GLboolean (GL_APIENTRY *glIsShader)(GLuint shader)
 
 void (GL_APIENTRY *glLinkProgram)(GLuint program)
 
 void (GL_APIENTRY *glShaderSource)(GLuint shader
 
 void (GL_APIENTRY *glUseProgram)(GLuint program)
 
 void (GL_APIENTRY *glUniform1f)(GLint location
 
 void (GL_APIENTRY *glUniform2f)(GLint location
 
 void (GL_APIENTRY *glUniform3f)(GLint location
 
 void (GL_APIENTRY *glUniform4f)(GLint location
 
 void (GL_APIENTRY *glUniform1i)(GLint location
 
 void (GL_APIENTRY *glUniform2i)(GLint location
 
 void (GL_APIENTRY *glUniform3i)(GLint location
 
 void (GL_APIENTRY *glUniform4i)(GLint location
 
 void (GL_APIENTRY *glUniform1fv)(GLint location
 
 void (GL_APIENTRY *glUniform2fv)(GLint location
 
 void (GL_APIENTRY *glUniform3fv)(GLint location
 
 void (GL_APIENTRY *glUniform4fv)(GLint location
 
 void (GL_APIENTRY *glUniform1iv)(GLint location
 
 void (GL_APIENTRY *glUniform2iv)(GLint location
 
 void (GL_APIENTRY *glUniform3iv)(GLint location
 
 void (GL_APIENTRY *glUniform4iv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix2fv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix3fv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix4fv)(GLint location
 
 void (GL_APIENTRY *glValidateProgram)(GLuint program)
 
 void (GL_APIENTRY *glVertexAttrib1d)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib1dv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib1f)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib1fv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib1s)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib1sv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib2d)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib2dv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib2f)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib2fv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib2s)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib2sv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib3d)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib3dv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib3f)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib3fv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib3s)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib3sv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4Nbv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4Niv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4Nsv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4Nub)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4Nubv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4Nuiv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4Nusv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4bv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4d)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4dv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4f)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4fv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4iv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4s)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4sv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4ubv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4uiv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttrib4usv)(GLuint index
 
 void (GL_APIENTRY *glVertexAttribPointer)(GLuint index
 
 void (GL_APIENTRY *glVertexAttribDivisor)(GLuint index
 
 void (GL_APIENTRY *glUniformMatrix2x3fv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix3x2fv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix2x4fv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix4x2fv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix3x4fv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix4x3fv)(GLint location
 
 void (GL_APIENTRY *glClipControl)(GLenum origin
 
 void (GL_APIENTRY *glProgramParameteri)(GLuint program
 
 void (GL_APIENTRY *glPatchParameteri)(GLenum pname
 
 void (GL_APIENTRY *glPatchParameterfv)(GLenum pname
 
 void (GL_APIENTRY *glGetUniformuiv)(GLuint program
 
 void (GL_APIENTRY *glBindFragDataLocation)(GLuint program
 
 GLint (GL_APIENTRY *glGetFragDataLocation)(GLuint program
 
 void (GL_APIENTRY *glUniform1ui)(GLint location
 
 void (GL_APIENTRY *glUniform2ui)(GLint location
 
 void (GL_APIENTRY *glUniform3ui)(GLint location
 
 void (GL_APIENTRY *glUniform4ui)(GLint location
 
 void (GL_APIENTRY *glUniform1uiv)(GLint location
 
 void (GL_APIENTRY *glUniform2uiv)(GLint location
 
 void (GL_APIENTRY *glUniform3uiv)(GLint location
 
 void (GL_APIENTRY *glUniform4uiv)(GLint location
 
 GLuint (GL_APIENTRY *glGetHandleARB)(GLenum pname)
 
 void (GL_APIENTRY *glGetUniformIndices)(GLuint program
 
 void (GL_APIENTRY *glGetActiveUniformsiv)(GLuint program
 
 void (GL_APIENTRY *glGetActiveUniformName)(GLuint program
 
 GLuint (GL_APIENTRY *glGetUniformBlockIndex)(GLuint program
 
 void (GL_APIENTRY *glGetActiveUniformBlockiv)(GLuint program
 
 void (GL_APIENTRY *glGetActiveUniformBlockName)(GLuint program
 
 void (GL_APIENTRY *glUniformBlockBinding)(GLuint program
 
 void (GL_APIENTRY *glGetProgramBinary)(GLuint program
 
 void (GL_APIENTRY *glProgramBinary)(GLuint program
 
 void (GL_APIENTRY *glUniform1d)(GLint location
 
 void (GL_APIENTRY *glUniform2d)(GLint location
 
 void (GL_APIENTRY *glUniform3d)(GLint location
 
 void (GL_APIENTRY *glUniform4d)(GLint location
 
 void (GL_APIENTRY *glUniform1dv)(GLint location
 
 void (GL_APIENTRY *glUniform2dv)(GLint location
 
 void (GL_APIENTRY *glUniform3dv)(GLint location
 
 void (GL_APIENTRY *glUniform4dv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix2dv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix3dv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix4dv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix2x3dv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix3x2dv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix2x4dv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix4x2dv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix3x4dv)(GLint location
 
 void (GL_APIENTRY *glUniformMatrix4x3dv)(GLint location
 
 void (GL_APIENTRY *glGetActiveAtomicCounterBufferiv)(GLuint program
 
 void (GL_APIENTRY *glDispatchCompute)(GLuint numGroupsX
 
 void (GL_APIENTRY *glGenBuffers)(GLsizei n
 
 void (GL_APIENTRY *glBindBuffer)(GLenum target
 
 void (GL_APIENTRY *glBufferData)(GLenum target
 
 void (GL_APIENTRY *glBufferSubData)(GLenum target
 
 void (GL_APIENTRY *glDeleteBuffers)(GLsizei n
 
 GLboolean (GL_APIENTRY *glIsBuffer)(GLuint buffer)
 
 void (GL_APIENTRY *glGetBufferSubData)(GLenum target
 
GLvoid *GL_APIENTRY * glMapBuffer (GLenum target, GLenum access)
 
GLvoid *GL_APIENTRY * glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
 
 GLboolean (GL_APIENTRY *glUnmapBuffer)(GLenum target)
 
 void (GL_APIENTRY *glGetBufferParameteriv)(GLenum target
 
 void (GL_APIENTRY *glGetBufferPointerv)(GLenum target
 
 void (GL_APIENTRY *glBindBufferRange)(GLenum target
 
 void (GL_APIENTRY *glBindBufferBase)(GLenum target
 
 void (GL_APIENTRY *glTexBuffer)(GLenum target
 
 void (GL_APIENTRY *glMemoryBarrier)(GLbitfield barriers)
 
 void (GL_APIENTRY *glBlendFuncSeparate)(GLenum sfactorRGB
 
 void (GL_APIENTRY *glBlendFunci)(GLuint buf
 
 void (GL_APIENTRY *glBlendFuncSeparatei)(GLuint buf
 
 void (GL_APIENTRY *glSecondaryColor3ubv)(const GLubyte *coord)
 
 void (GL_APIENTRY *glSecondaryColor3fv)(const GLfloat *coord)
 
 void (GL_APIENTRY *glFogCoordfv)(const GLfloat *coord)
 
 void (GL_APIENTRY *glMultiTexCoord1f)(GLenum target
 
 void (GL_APIENTRY *glMultiTexCoord1fv)(GLenum target
 
 void (GL_APIENTRY *glMultiTexCoord2fv)(GLenum target
 
 void (GL_APIENTRY *glMultiTexCoord3fv)(GLenum target
 
 void (GL_APIENTRY *glMultiTexCoord4fv)(GLenum target
 
 void (GL_APIENTRY *glMultiTexCoord1d)(GLenum target
 
 void (GL_APIENTRY *glMultiTexCoord1dv)(GLenum target
 
 void (GL_APIENTRY *glMultiTexCoord2dv)(GLenum target
 
 void (GL_APIENTRY *glMultiTexCoord3dv)(GLenum target
 
 void (GL_APIENTRY *glMultiTexCoord4dv)(GLenum target
 
 void (GL_APIENTRY *glGenOcclusionQueries)(GLsizei n
 
 void (GL_APIENTRY *glDeleteOcclusionQueries)(GLsizei n
 
 GLboolean (GL_APIENTRY *glIsOcclusionQuery)(GLuint id)
 
 void (GL_APIENTRY *glBeginOcclusionQuery)(GLuint id)
 
 void (GL_APIENTRY *glEndOcclusionQuery)()
 
 void (GL_APIENTRY *glGetOcclusionQueryiv)(GLuint id
 
 void (GL_APIENTRY *glGetOcclusionQueryuiv)(GLuint id
 
 void (GL_APIENTRY *glGetQueryiv)(GLenum target
 
 void (GL_APIENTRY *glGenQueries)(GLsizei n
 
 void (GL_APIENTRY *glBeginQuery)(GLenum target
 
 void (GL_APIENTRY *glEndQuery)(GLenum target)
 
 void (GL_APIENTRY *glQueryCounter)(GLuint id
 
 GLboolean (GL_APIENTRY *glIsQuery)(GLuint id)
 
 void (GL_APIENTRY *glDeleteQueries)(GLsizei n
 
 void (GL_APIENTRY *glGetQueryObjectiv)(GLuint id
 
 void (GL_APIENTRY *glGetQueryObjectuiv)(GLuint id
 
 void (GL_APIENTRY *glGetQueryObjectui64v)(GLuint id
 
 void (GL_APIENTRY *glGetInteger64v)(GLenum pname
 
 void (GL_APIENTRY *glSampleMaski)(GLuint maskNumber
 
 void (GL_APIENTRY *glBindProgram)(GLenum target
 
 void (GL_APIENTRY *glGenPrograms)(GLsizei n
 
 void (GL_APIENTRY *glDeletePrograms)(GLsizei n
 
 void (GL_APIENTRY *glProgramString)(GLenum target
 
 void (GL_APIENTRY *glProgramLocalParameter4fv)(GLenum target
 
bool isTexStorage2DSupported () const
 
bool isCompressedTexImage2DSupported () const
 
bool isCompressedTexSubImage2DSupported () const
 
bool isBindImageTextureSupported () const
 
bool isNonPowerOfTwoTextureSupported (GLenum filter) const
 
 void (GL_APIENTRY *glTexStorage2D)(GLenum target
 
 void (GL_APIENTRY *glCompressedTexImage2D)(GLenum target
 
 void (GL_APIENTRY *glCompressedTexSubImage2D)(GLenum target
 
 void (GL_APIENTRY *glGetCompressedTexImage)(GLenum target
 
 void (GL_APIENTRY *glTexImage2DMultisample)(GLenum target
 
 void (GL_APIENTRY *glTexParameterIiv)(GLenum target
 
 void (GL_APIENTRY *glTexParameterIuiv)(GLenum target
 
 void (GL_APIENTRY *glBindImageTexture)(GLuint unit
 
bool isCompressedTexImage3DSupported () const
 
bool isCompressedTexSubImage3DSupported () const
 
 void (GL_APIENTRY *glTexImage3D)(GLenum target
 
 void (GL_APIENTRY *glTexSubImage3D)(GLenum target
 
 void (GL_APIENTRY *glCopyTexSubImage3D)(GLenum target
 
 void (GL_APIENTRY *glCompressedTexImage3D)(GLenum target
 
 void (GL_APIENTRY *glCompressedTexSubImage3D)(GLenum target
 
 void (GL_APIENTRY *glBlendColor)(GLclampf red
 
 void (GL_APIENTRY *glBlendEquation)(GLenum mode)
 
 void (GL_APIENTRY *glBlendEquationSeparate)(GLenum modeRGB
 
 void (GL_APIENTRY *glBlendEquationi)(GLuint buf
 
 void (GL_APIENTRY *glBlendEquationSeparatei)(GLuint buf
 
 void (GL_APIENTRY *glEnablei)(GLenum capability
 
 void (GL_APIENTRY *glDisablei)(GLenum capability
 
 void (GL_APIENTRY *glActiveStencilFace)(GLenum face)
 
 void (GL_APIENTRY *glStencilOpSeparate)(GLenum face
 
 void (GL_APIENTRY *glStencilMaskSeparate)(GLenum face
 
 void (GL_APIENTRY *glStencilFuncSeparate)(GLenum face
 
 void (GL_APIENTRY *glStencilFuncSeparateATI)(GLenum frontfunc
 
 void (GL_APIENTRY *glColorMaski)(GLuint buf
 
 void (GL_APIENTRY *glClampColor)(GLenum target
 
 void (GL_APIENTRY *glPrimitiveRestartIndex)(GLuint index)
 
 void (GL_APIENTRY *glSampleCoverage)(GLclampf value
 
 void (GL_APIENTRY *glPointParameteri)(GLenum pname
 
 void (GL_APIENTRY *glPointParameterf)(GLenum pname
 
 void (GL_APIENTRY *glPointParameterfv)(GLenum pname
 
bool isRenderbufferMultisampleSupported () const
 
bool isRenderbufferMultisampleCoverageSupported () const
 
 void (GL_APIENTRY *glBindRenderbuffer)(GLenum
 
 void (GL_APIENTRY *glDeleteRenderbuffers)(GLsizei n
 
 void (GL_APIENTRY *glGenRenderbuffers)(GLsizei
 
GLuint * void (GL_APIENTRY *glRenderbufferStorage)(GLenum
 
 void (GL_APIENTRY *glRenderbufferStorageMultisample)(GLenum
 
 void (GL_APIENTRY *glRenderbufferStorageMultisampleCoverageNV)(GLenum
 
 void (GL_APIENTRY *glBindFramebuffer)(GLenum
 
 void (GL_APIENTRY *glDeleteFramebuffers)(GLsizei n
 
 void (GL_APIENTRY *glGenFramebuffers)(GLsizei
 
GLuint * GLenum (GL_APIENTRY *glCheckFramebufferStatus)(GLenum)
 
 void (GL_APIENTRY *glFramebufferTexture1D)(GLenum
 
 void (GL_APIENTRY *glFramebufferTexture2D)(GLenum
 
 void (GL_APIENTRY *glFramebufferTexture3D)(GLenum
 
 void (GL_APIENTRY *glFramebufferTexture)(GLenum
 
 void (GL_APIENTRY *glFramebufferTextureLayer)(GLenum
 
 void (GL_APIENTRY *glFramebufferTextureFace)(GLenum target
 
 void (GL_APIENTRY *glFramebufferRenderbuffer)(GLenum
 
 void (GL_APIENTRY *glGenerateMipmap)(GLenum)
 
 void (GL_APIENTRY *glBlitFramebuffer)(GLint
 
 void (GL_APIENTRY *glGetRenderbufferParameteriv)(GLenum
 
GLint * GLsync (GL_APIENTRY *glFenceSync)(GLenum condition
 
 GLboolean (GL_APIENTRY *glIsSync)(GLsync sync)
 
 void (GL_APIENTRY *glDeleteSync)(GLsync sync)
 
 GLenum (GL_APIENTRY *glClientWaitSync)(GLsync sync
 
 void (GL_APIENTRY *glWaitSync)(GLsync sync
 
 void (GL_APIENTRY *glGetSynciv)(GLsync sync
 
 void (GL_APIENTRY *glBeginTransformFeedback)(GLenum primitiveMode)
 
 void (GL_APIENTRY *glEndTransformFeedback)(void)
 
 void (GL_APIENTRY *glTransformFeedbackVaryings)(GLuint program
 
 void (GL_APIENTRY *glGetTransformFeedbackVarying)(GLuint program
 
 void (GL_APIENTRY *glBindTransformFeedback)(GLenum target
 
 void (GL_APIENTRY *glDeleteTransformFeedbacks)(GLsizei n
 
 void (GL_APIENTRY *glGenTransformFeedbacks)(GLsizei n
 
 GLboolean (GL_APIENTRY *glIsTransformFeedback)(GLuint id)
 
 void (GL_APIENTRY *glPauseTransformFeedback)(void)
 
 void (GL_APIENTRY *glResumeTransformFeedback)(void)
 
 void (GL_APIENTRY *glDrawTransformFeedback)(GLenum mode
 
 void (GL_APIENTRY *glDrawTransformFeedbackStream)(GLenum mode
 
 void (GL_APIENTRY *glDrawTransformFeedbackInstanced)(GLenum mode
 
 void (GL_APIENTRY *glDrawTransformFeedbackStreamInstanced)(GLenum mode
 
 void (GL_APIENTRY *glCreateTransformFeedbacks)(GLsizei n
 
 void (GL_APIENTRY *glTransformFeedbackBufferBase)(GLuint xfb
 
 void (GL_APIENTRY *glTransformFeedbackBufferRange)(GLuint xfb
 
 void (GL_APIENTRY *glGetTransformFeedbackiv)(GLuint xfb
 
 void (GL_APIENTRY *glGetTransformFeedbacki_v)(GLuint xfb
 
 void (GL_APIENTRY *glGetTransformFeedbacki64_v)(GLuint xfb
 
 void (GL_APIENTRY *glDeleteVertexArrays)(GLsizei size
 
 void (GL_APIENTRY *glGenVertexArrays)(GLsizei size
 
 GLboolean (GL_APIENTRY *glIsVertexArray)(GLuint handle)
 
 void (GL_APIENTRY *glBindVertexArray)(GLuint handle)
 
- Public Member Functions inherited from osg::Referenced
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (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::MutexgetRefMutex () const
 Get the mutex used to ensure thread safety of ref()/unref(). More...
 
OpenThreads::MutexgetRefMutex () 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...
 
ObserverSetgetObserverSet () const
 Get the ObserverSet if one is attached, otherwise return NULL. More...
 
ObserverSetgetOrCreateObserverSet () 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...
 

Static Public Member Functions

static GLExtensionsGet (unsigned int contextID, bool createIfNotInitalized)
 Function to call to get the extension of a specified context. More...
 
static void Set (unsigned int contextID, GLExtensions *extensions)
 allows users to override the extensions across graphics contexts. More...
 
- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More...
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 Set whether reference counting should use a mutex for thread safe reference counting. More...
 
static bool getThreadSafeReferenceCounting ()
 Get whether reference counting is active. More...
 
static void setDeleteHandler (DeleteHandler *handler)
 Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More...
 
static DeleteHandlergetDeleteHandler ()
 Get a DeleteHandler. More...
 

Public Attributes

float glVersion
 
float glslLanguageVersion
 
bool isGlslSupported
 
bool isShaderObjectsSupported
 
bool isVertexShaderSupported
 
bool isFragmentShaderSupported
 
bool isLanguage100Supported
 
bool isGeometryShader4Supported
 
bool areTessellationShadersSupported
 
bool isGpuShader4Supported
 
bool isUniformBufferObjectSupported
 
bool isGetProgramBinarySupported
 
bool isGpuShaderFp64Supported
 
bool isShaderAtomicCountersSupported
 
bool isRectangleSupported
 
bool isCubeMapSupported
 
bool isClipControlSupported
 
const GLenum * bufs
 
GLuint shader
 
GLuint index
 
GLuint const GLchar * name
 
GLuint GLsizei bufSize
 
GLuint GLsizei GLsizei * length
 
GLuint GLsizei GLsizei GLint * size
 
GLuint GLsizei GLsizei GLint GLenum * type
 
GLuint GLsizei GLsizei GLint GLenum GLchar * name
 
GLsizei maxCount
 
GLsizei GLsizei * count
 
GLsizei GLsizei GLuint * obj
 
const GLchar * name
 
GLenum pname
 
GLenum GLint * params
 
GLsizei bufSize
 
GLsizei GLsizei * length
 
GLsizei GLsizei GLchar * infoLog
 
GLsizei GLsizei GLchar * source
 
GLint location
 
GLint GLfloat * params
 
GLint GLint * params
 
GLenum GLdouble * params
 
GLenum GLfloat * params
 
GLenum GLvoid ** pointer
 
GLsizei count
 
GLsizei const GLchar ** string
 
GLsizei const GLchar const GLint * length
 
GLfloat v0
 
GLfloat GLfloat v1
 
GLfloat GLfloat GLfloat v2
 
GLfloat GLfloat GLfloat GLfloat v3
 
GLint v0
 
GLint GLint v1
 
GLint GLint GLint v2
 
GLint GLint GLint GLint v3
 
GLsizei const GLfloat * value
 
GLsizei const GLint * value
 
GLsizei GLboolean transpose
 
GLsizei GLboolean const GLfloat * value
 
GLdouble x
 
const GLdouble * v
 
GLfloat x
 
const GLfloat * v
 
GLshort x
 
const GLshort * v
 
GLdouble GLdouble y
 
GLfloat GLfloat y
 
GLshort GLshort y
 
GLdouble GLdouble GLdouble z
 
GLfloat GLfloat GLfloat z
 
GLshort GLshort GLshort z
 
const GLbyte * v
 
const GLint * v
 
GLubyte x
 
GLubyte GLubyte y
 
GLubyte GLubyte GLubyte z
 
GLubyte GLubyte GLubyte GLubyte w
 
const GLubyte * v
 
const GLuint * v
 
const GLushort * v
 
GLdouble GLdouble GLdouble GLdouble w
 
GLfloat GLfloat GLfloat GLfloat w
 
GLshort GLshort GLshort GLshort w
 
GLint size
 
GLint GLenum type
 
GLint GLenum GLboolean normalized
 
GLint GLenum GLboolean GLsizei stride
 
GLint GLenum GLboolean GLsizei const GLvoid * pointer
 
GLuint divisor
 
GLenum depthMode
 
GLenum GLint value
 
GLint value
 
const GLfloat * values
 
GLint GLuint * params
 
GLuint color
 
GLuint v0
 
GLuint GLuint v1
 
GLuint GLuint GLuint v2
 
GLuint GLuint GLuint GLuint v3
 
GLsizei const GLuint * value
 
GLsizei uniformCount
 
GLsizei const GLchar ** uniformNames
 
GLsizei const GLchar GLuint * uniformIndices
 
GLsizei const GLuint * uniformIndices
 
GLsizei const GLuint GLenum pname
 
GLsizei const GLuint GLenum GLint * params
 
GLuint uniformIndex
 
GLuint GLsizei GLsizei GLchar * uniformName
 
const GLchar * uniformBlockName
 
GLuint uniformBlockIndex
 
GLuint GLenum pname
 
GLuint GLenum GLint * params
 
GLuint GLsizei GLsizei GLchar * uniformBlockName
 
GLuint GLuint uniformBlockBinding
 
GLsizei GLsizei GLenum * binaryFormat
 
GLsizei GLsizei GLenum GLvoid * binary
 
GLenum binaryFormat
 
GLenum const GLvoid * binary
 
GLenum const GLvoid GLsizei length
 
GLdouble v0
 
GLdouble GLdouble v1
 
GLdouble GLdouble GLdouble v2
 
GLdouble GLdouble GLdouble GLdouble v3
 
GLsizei const GLdouble * value
 
GLsizei GLboolean const GLdouble * value
 
GLuint bufferIndex
 
GLuint numGroupsY
 
GLuint GLuint numGroupsZ
 
bool isBufferObjectSupported
 
bool isPBOSupported
 
bool isTBOSupported
 
bool isVAOSupported
 
bool isTransformFeedbackSupported
 
GLuint * buffers
 
GLuint buffer
 
GLsizeiptr size
 
GLsizeiptr const GLvoid * data
 
GLsizeiptr const GLvoid GLenum usage
 
GLintptr offset
 
GLintptr GLsizeiptr size
 
GLintptr GLsizeiptr const GLvoid * data
 
const GLuint * buffers
 
GLintptr GLsizeiptr GLvoid * data
 
GLenum GLvoid ** params
 
GLuint GLuint buffer
 
GLuint GLuint GLintptr offset
 
GLuint GLuint GLintptr GLsizeiptr size
 
GLenum internalFormat
 
GLenum GLuint buffer
 
bool isBlendFuncSeparateSupported
 
GLenum dfactorRGB
 
GLenum GLenum sfactorAlpha
 
GLenum GLenum GLenum dfactorAlpha
 
GLenum src
 
GLenum GLenum dst
 
GLenum sfactorRGB
 
GLenum GLenum dfactorRGB
 
GLenum GLenum GLenum sfactorAlpha
 
GLenum GLenum GLenum GLenum dfactorAlpha
 
bool isSecondaryColorSupported
 
bool isFogCoordSupported
 
bool isMultiTexSupported
 
bool isOcclusionQuerySupported
 
bool isARBOcclusionQuerySupported
 
bool isTimerQuerySupported
 
bool isARBTimerQuerySupported
 
GLfloat coord
 
const GLfloat * coord
 
GLdouble coord
 
const GLdouble * coord
 
GLuint * ids
 
const GLuint * ids
 
GLenum GLuint * params
 
GLuint id
 
GLenum target
 
GLenum GLuint64 * params
 
GLint64 * params
 
bool isOpenGL32upported
 
bool isTextureMultisampleSupported
 
bool isSampleMaskiSupported
 
GLbitfield mask
 
bool isVertexProgramSupported
 
bool isFragmentProgramSupported
 
GLuint * programs
 
GLenum format
 
GLenum GLsizei len
 
GLenum GLsizei const void * string
 
GLuint const GLfloat * params
 
bool isMultiTexturingSupported
 
bool isTextureFilterAnisotropicSupported
 
bool isTextureSwizzleSupported
 
bool isTextureCompressionARBSupported
 
bool isTextureCompressionS3TCSupported
 
bool isTextureCompressionPVRTC2BPPSupported
 
bool isTextureCompressionPVRTC4BPPSupported
 
bool isTextureCompressionETCSupported
 
bool isTextureCompressionETC2Supported
 
bool isTextureCompressionRGTCSupported
 
bool isTextureCompressionPVRTCSupported
 
bool isTextureMirroredRepeatSupported
 
bool isTextureEdgeClampSupported
 
bool isTextureBorderClampSupported
 
bool isGenerateMipMapSupported
 
bool preferGenerateMipmapSGISForPowerOfTwo
 
bool isTextureMultisampledSupported
 
bool isShadowSupported
 
bool isShadowAmbientSupported
 
bool isTextureMaxLevelSupported
 
GLint maxTextureSize
 
bool _isTextureStorageEnabled
 
bool isClientStorageSupported
 
bool isTextureIntegerEXTSupported
 
bool isTextureStorageEnabled
 
bool isNonPowerOfTwoTextureMipMappedSupported
 
bool isNonPowerOfTwoTextureNonMipMappedSupported
 
GLsizei levels
 
GLsizei GLenum internalformat
 
GLsizei GLenum GLsizei width
 
GLsizei GLenum GLsizei GLsizei height
 
GLint level
 
GLint GLenum internalformat
 
GLint GLenum GLsizei width
 
GLint GLenum GLsizei GLsizei height
 
GLint GLenum GLsizei GLsizei GLint border
 
GLint GLenum GLsizei GLsizei GLint GLsizei imageSize
 
GLint GLenum GLsizei GLsizei GLint GLsizei const GLvoid * data
 
GLint GLint xoffset
 
GLint GLint GLint yoffset
 
GLint GLint GLint GLsizei width
 
GLint GLint GLint GLsizei GLsizei height
 
GLint GLint GLint GLsizei GLsizei GLenum format
 
GLint GLint GLint GLsizei GLsizei GLenum GLsizei imageSize
 
GLint GLint GLint GLsizei GLsizei GLenum GLsizei const GLvoid * data
 
GLint GLvoid * data
 
GLsizei samples
 
GLsizei GLint internalformat
 
GLsizei GLint GLsizei width
 
GLsizei GLint GLsizei GLsizei height
 
GLsizei GLint GLsizei GLsizei GLboolean fixedsamplelocations
 
GLenum const GLint * data
 
GLenum const GLuint * data
 
GLuint texture
 
GLuint GLint level
 
GLuint GLint GLboolean layered
 
GLuint GLint GLboolean GLint layer
 
GLuint GLint GLboolean GLint GLenum access
 
GLuint GLint GLboolean GLint GLenum GLenum format
 
bool isTexture3DSupported
 
bool isTexture3DFast
 
GLint maxTexture3DSize
 
GLint GLenum internalFormat
 
GLint GLenum GLsizei GLsizei GLsizei depth
 
GLint GLenum GLsizei GLsizei GLsizei GLint border
 
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum format
 
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
 
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
 
GLint GLint GLint GLint zoffset
 
GLint GLint GLint GLint GLsizei width
 
GLint GLint GLint GLint GLsizei GLsizei height
 
GLint GLint GLint GLint GLsizei GLsizei GLsizei depth
 
GLint GLint GLint GLint GLsizei GLsizei GLsizei GLenum format
 
GLint GLint GLint GLint GLsizei GLsizei GLsizei GLenum GLenum type
 
GLint GLint GLint GLint GLsizei GLsizei GLsizei GLenum GLenum const GLvoid * pixels
 
GLint GLint GLint GLint GLint x
 
GLint GLint GLint GLint GLint GLint y
 
GLint GLint GLint GLint GLint GLint GLsizei width
 
GLint GLint GLint GLint GLint GLint GLsizei GLsizei height
 
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei imageSize
 
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
 
GLint GLint GLint GLint GLsizei GLsizei GLsizei GLenum GLsizei imageSize
 
GLint GLint GLint GLint GLsizei GLsizei GLsizei GLenum GLsizei const GLvoid * data
 
bool isTexture2DArraySupported
 
GLint maxLayerCount
 
GLint max2DSize
 
bool isBlendColorSupported
 
bool isBlendEquationSupported
 
bool isBlendEquationSeparateSupported
 
bool isSGIXMinMaxSupported
 
bool isLogicOpSupported
 
GLclampf green
 
GLclampf GLclampf blue
 
GLclampf GLclampf GLclampf alpha
 
GLenum modeAlpha
 
GLenum mode
 
GLenum modeRGB
 
GLenum GLenum modeAlpha
 
GLuint buf
 
bool isStencilWrapSupported
 
bool isStencilTwoSidedSupported
 
bool isOpenGL20Supported
 
bool isSeparateStencilSupported
 
GLenum sfail
 
GLenum GLenum dpfail
 
GLenum GLenum GLenum dppass
 
GLuint mask
 
GLenum func
 
GLenum GLint ref
 
GLenum GLint GLuint mask
 
GLenum backfunc
 
GLboolean red
 
GLboolean GLboolean green
 
GLboolean GLboolean GLboolean blue
 
GLboolean GLboolean GLboolean GLboolean alpha
 
bool isClampColorSupported
 
bool isMultisampleSupported
 
bool isMultisampleFilterHintSupported
 
GLboolean invert
 
bool isPointParametersSupported
 
bool isPointSpriteSupported
 
bool isPointSpriteCoordOriginSupported
 
GLint param
 
GLfloat param
 
const GLfloat * params
 
bool isFrameBufferObjectSupported
 
bool isPackedDepthStencilSupported
 
 GLuint
 
const GLuint * renderbuffers
 
GLuint GLenum
 
GLuint GLsizei
 
 GLsizei
 
 GLenum
 
const GLuint * framebuffers
 
 GLint
 
GLenum attachment
 
GLenum GLuint texture
 
GLenum GLuint GLint level
 
GLenum GLuint GLint GLenum face
 
 GLbitfield
 
GLint GLbitfield flags
 
GLbitfield flags
 
GLbitfield GLuint64 timeout
 
GLenum GLsizei bufSize
 
GLenum GLsizei GLsizei * length
 
GLenum GLsizei GLsizei GLint * values
 
GLsizei const GLchar *const * varyings
 
GLsizei const GLchar *const GLenum bufferMode
 
GLuint GLsizei GLsizei GLsizei * size
 
GLuint GLsizei GLsizei GLsizei GLenum * type
 
GLuint GLsizei GLsizei GLsizei GLenum GLchar * name
 
GLuint GLuint stream
 
GLuint GLsizei instancecount
 
GLuint GLuint GLsizei instancecount
 
GLuint GLuint GLintptr GLsizei size
 
GLenum GLint * param
 
GLenum GLuint index
 
GLenum GLuint GLint * param
 
GLenum GLuint GLint64 * param
 
const GLuint * handles
 
GLuint * handles
 

Additional Inherited Members

- Protected Member Functions inherited from osg::Referenced
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 
OpenThreads::Mutex_refMutex
 
int _refCount
 
void * _observerSet
 

Detailed Description

Main GLExtensions class for managing OpenGL extensions per graphics context.

Member Function Documentation

◆ Get()

static GLExtensions* osg::GLExtensions::Get ( unsigned int  contextID,
bool  createIfNotInitalized 
)
static

Function to call to get the extension of a specified context.

If the Exentsion object for that context has not yet been created then and the 'createIfNotInitalized' flag been set to false then returns NULL. If 'createIfNotInitalized' is true then the Extensions object is automatically created. However, in this case the extension object only be created with the graphics context associated with ContextID..

◆ Set()

static void osg::GLExtensions::Set ( unsigned int  contextID,
GLExtensions extensions 
)
static

allows users to override the extensions across graphics contexts.

typically used when you have different extensions supported across graphics pipes but need to ensure that they all use the same low common denominator extensions.


The documentation for this class was generated from the following file: