GLExtensions
Go to the documentation of this file.
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
#ifndef OSG_GLEXTENSIONS
#define OSG_GLEXTENSIONS 1
#include <osg/Export>
#include <osg/GLDefines>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <vector>
#include <map>
namespace osg {
extern OSG_EXPORT float getGLVersionNumber();
extern OSG_EXPORT bool isExtensionInExtensionString(const char *extension, const char *extensionString);
extern OSG_EXPORT bool isGLExtensionSupported(unsigned int contextID, const char *extension);
extern OSG_EXPORT bool isGLExtensionSupported(unsigned int contextID, const char *extension1, const char *extension2);
extern OSG_EXPORT bool isGLExtensionOrVersionSupported(unsigned int contextID, const char *extension, float requiredGlVersion);
extern OSG_EXPORT void* getGLExtensionFuncPtr(const char *funcName);
extern OSG_EXPORT void setGLExtensionDisableString(const std::string& disableString);
extern OSG_EXPORT std::string& getGLExtensionDisableString();
inline void* getGLExtensionFuncPtr(const char *funcName, const char *fallbackFuncName)
{
void* ptr = getGLExtensionFuncPtr(funcName);
return (ptr!=0) ? ptr : getGLExtensionFuncPtr(fallbackFuncName);
}
inline void* getGLExtensionFuncPtr(const char *funcName1, const char *funcName2, const char *funcName3)
{
void* ptr = getGLExtensionFuncPtr(funcName1);
return (ptr!=0) ? ptr : getGLExtensionFuncPtr(funcName2, funcName3);
}
template<typename T, typename R>
bool convertPointer(T& dest, R src)
{
memcpy(&dest, &src, sizeof(src));
return src!=0;
}
template<typename T, typename R>
T convertPointerType(R src)
{
T dest;
memcpy(&dest, &src, sizeof(src));
return dest;
}
template<typename T>
bool setGLExtensionFuncPtr(T& t, const char* str1, bool validContext=true)
{
return convertPointer(t, validContext ? osg::getGLExtensionFuncPtr(str1) : 0);
}
template<typename T>
bool setGLExtensionFuncPtr(T& t, const char* str1, const char* str2, bool validContext=true)
{
return convertPointer(t, validContext ? osg::getGLExtensionFuncPtr(str1, str2) : 0);
}
template<typename T>
bool setGLExtensionFuncPtr(T& t, const char* str1, const char* str2, const char* str3, bool validContext=true)
{
return convertPointer(t, validContext ? osg::getGLExtensionFuncPtr(str1, str2, str3) : 0);
}
class VertexAttribAlias
{
public:
VertexAttribAlias():
_location(0) {}
VertexAttribAlias(const VertexAttribAlias& rhs):
_location(rhs._location),
_glName(rhs._glName),
_osgName(rhs._osgName),
_declaration(rhs._declaration) {}
VertexAttribAlias(GLuint location, const std::string glName, const std::string osgName, const std::string& declaration):
_location(location),
_glName(glName),
_osgName(osgName),
_declaration(declaration) {}
VertexAttribAlias &operator = (const VertexAttribAlias &o) {
_location = o._location;
_glName = o._glName;
_osgName = o._osgName;
_declaration = o._declaration;
return *this;
}
GLuint _location;
std::string _glName;
std::string _osgName;
std::string _declaration;
};
class OSG_EXPORT GLExtensions : public osg::Referenced
{
public:
GLExtensions(unsigned int in_contextID);
static GLExtensions* Get(unsigned int in_contextID,bool createIfNotInitalized);
static void Set(unsigned int in_contextID, GLExtensions* extensions);
// C++-friendly convenience wrapper methods
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;
unsigned int contextID;
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;
void (GL_APIENTRY * glDrawBuffers)(GLsizei n, const GLenum *bufs);
void (GL_APIENTRY * glAttachShader)(GLuint program, GLuint shader);
void (GL_APIENTRY * glBindAttribLocation)(GLuint program, GLuint index, const GLchar *name);
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, GLuint shader);
void (GL_APIENTRY * glDisableVertexAttribArray)(GLuint index);
void (GL_APIENTRY * glEnableVertexAttribArray)(GLuint index);
void (GL_APIENTRY * glGetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
void (GL_APIENTRY * glGetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
void (GL_APIENTRY * glGetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
GLint (GL_APIENTRY * glGetAttribLocation)(GLuint program, const GLchar *name);
void (GL_APIENTRY * glGetProgramiv)(GLuint program, GLenum pname, GLint *params);
void (GL_APIENTRY * glGetObjectParameterivARB)(GLuint program, GLenum pname, GLint *params);
void (GL_APIENTRY * glGetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
void (GL_APIENTRY * glGetInfoLogARB)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
void (GL_APIENTRY * glGetShaderiv)(GLuint shader, GLenum pname, GLint *params);
void (GL_APIENTRY * glGetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
void (GL_APIENTRY * glGetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
GLint (GL_APIENTRY * glGetUniformLocation)(GLuint program, const GLchar *name);
void (GL_APIENTRY * glGetUniformfv)(GLuint program, GLint location, GLfloat *params);
void (GL_APIENTRY * glGetUniformiv)(GLuint program, GLint location, GLint *params);
void (GL_APIENTRY * glGetVertexAttribdv)(GLuint index, GLenum pname, GLdouble *params);
void (GL_APIENTRY * glGetVertexAttribfv)(GLuint index, GLenum pname, GLfloat *params);
void (GL_APIENTRY * glGetVertexAttribiv)(GLuint index, GLenum pname, GLint *params);
void (GL_APIENTRY * glGetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid* *pointer);
GLboolean (GL_APIENTRY * glIsProgram)(GLuint program);
GLboolean (GL_APIENTRY * glIsShader)(GLuint shader);
void (GL_APIENTRY * glLinkProgram)(GLuint program);
void (GL_APIENTRY * glShaderSource)(GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
void (GL_APIENTRY * glUseProgram)(GLuint program);
void (GL_APIENTRY * glUniform1f)(GLint location, GLfloat v0);
void (GL_APIENTRY * glUniform2f)(GLint location, GLfloat v0, GLfloat v1);
void (GL_APIENTRY * glUniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
void (GL_APIENTRY * glUniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
void (GL_APIENTRY * glUniform1i)(GLint location, GLint v0);
void (GL_APIENTRY * glUniform2i)(GLint location, GLint v0, GLint v1);
void (GL_APIENTRY * glUniform3i)(GLint location, GLint v0, GLint v1, GLint v2);
void (GL_APIENTRY * glUniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
void (GL_APIENTRY * glUniform1fv)(GLint location, GLsizei count, const GLfloat *value);
void (GL_APIENTRY * glUniform2fv)(GLint location, GLsizei count, const GLfloat *value);
void (GL_APIENTRY * glUniform3fv)(GLint location, GLsizei count, const GLfloat *value);
void (GL_APIENTRY * glUniform4fv)(GLint location, GLsizei count, const GLfloat *value);
void (GL_APIENTRY * glUniform1iv)(GLint location, GLsizei count, const GLint *value);
void (GL_APIENTRY * glUniform2iv)(GLint location, GLsizei count, const GLint *value);
void (GL_APIENTRY * glUniform3iv)(GLint location, GLsizei count, const GLint *value);
void (GL_APIENTRY * glUniform4iv)(GLint location, GLsizei count, const GLint *value);
void (GL_APIENTRY * glUniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
void (GL_APIENTRY * glUniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
void (GL_APIENTRY * glUniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
void (GL_APIENTRY * glValidateProgram)(GLuint program);
void (GL_APIENTRY * glVertexAttrib1d)(GLuint index, GLdouble x);
void (GL_APIENTRY * glVertexAttrib1dv)(GLuint index, const GLdouble *v);
void (GL_APIENTRY * glVertexAttrib1f)(GLuint index, GLfloat x);
void (GL_APIENTRY * glVertexAttrib1fv)(GLuint index, const GLfloat *v);
void (GL_APIENTRY * glVertexAttrib1s)(GLuint index, GLshort x);
void (GL_APIENTRY * glVertexAttrib1sv)(GLuint index, const GLshort *v);
void (GL_APIENTRY * glVertexAttrib2d)(GLuint index, GLdouble x, GLdouble y);
void (GL_APIENTRY * glVertexAttrib2dv)(GLuint index, const GLdouble *v);
void (GL_APIENTRY * glVertexAttrib2f)(GLuint index, GLfloat x, GLfloat y);
void (GL_APIENTRY * glVertexAttrib2fv)(GLuint index, const GLfloat *v);
void (GL_APIENTRY * glVertexAttrib2s)(GLuint index, GLshort x, GLshort y);
void (GL_APIENTRY * glVertexAttrib2sv)(GLuint index, const GLshort *v);
void (GL_APIENTRY * glVertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
void (GL_APIENTRY * glVertexAttrib3dv)(GLuint index, const GLdouble *v);
void (GL_APIENTRY * glVertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
void (GL_APIENTRY * glVertexAttrib3fv)(GLuint index, const GLfloat *v);
void (GL_APIENTRY * glVertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z);
void (GL_APIENTRY * glVertexAttrib3sv)(GLuint index, const GLshort *v);
void (GL_APIENTRY * glVertexAttrib4Nbv)(GLuint index, const GLbyte *v);
void (GL_APIENTRY * glVertexAttrib4Niv)(GLuint index, const GLint *v);
void (GL_APIENTRY * glVertexAttrib4Nsv)(GLuint index, const GLshort *v);
void (GL_APIENTRY * glVertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
void (GL_APIENTRY * glVertexAttrib4Nubv)(GLuint index, const GLubyte *v);
void (GL_APIENTRY * glVertexAttrib4Nuiv)(GLuint index, const GLuint *v);
void (GL_APIENTRY * glVertexAttrib4Nusv)(GLuint index, const GLushort *v);
void (GL_APIENTRY * glVertexAttrib4bv)(GLuint index, const GLbyte *v);
void (GL_APIENTRY * glVertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
void (GL_APIENTRY * glVertexAttrib4dv)(GLuint index, const GLdouble *v);
void (GL_APIENTRY * glVertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
void (GL_APIENTRY * glVertexAttrib4fv)(GLuint index, const GLfloat *v);
void (GL_APIENTRY * glVertexAttrib4iv)(GLuint index, const GLint *v);
void (GL_APIENTRY * glVertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
void (GL_APIENTRY * glVertexAttrib4sv)(GLuint index, const GLshort *v);
void (GL_APIENTRY * glVertexAttrib4ubv)(GLuint index, const GLubyte *v);
void (GL_APIENTRY * glVertexAttrib4uiv)(GLuint index, const GLuint *v);
void (GL_APIENTRY * glVertexAttrib4usv)(GLuint index, const GLushort *v);
void (GL_APIENTRY * glVertexAttribPointer) (unsigned int, GLint, GLenum, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
void (GL_APIENTRY * glVertexAttribIPointer) (unsigned int, GLint, GLenum, GLsizei stride, const GLvoid *pointer);
void (GL_APIENTRY * glVertexAttribLPointer) (unsigned int, GLint, GLenum, GLsizei stride, const GLvoid *pointer);
void (GL_APIENTRY * glVertexAttribDivisor)(GLuint index, GLuint divisor);
void (GL_APIENTRY * glUniformMatrix2x3fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value );
void (GL_APIENTRY * glUniformMatrix3x2fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value );
void (GL_APIENTRY * glUniformMatrix2x4fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value );
void (GL_APIENTRY * glUniformMatrix4x2fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value );
void (GL_APIENTRY * glUniformMatrix3x4fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value );
void (GL_APIENTRY * glUniformMatrix4x3fv)( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value );
void (GL_APIENTRY * glClipControl)( GLenum origin, GLenum depthMode );
void (GL_APIENTRY * glProgramParameteri)( GLuint program, GLenum pname, GLint value );
void (GL_APIENTRY * glPatchParameteri)( GLenum pname, GLint value );
void (GL_APIENTRY * glPatchParameterfv)( GLenum pname, const GLfloat* values );
void (GL_APIENTRY * glGetUniformuiv)( GLuint program, GLint location, GLuint* params );
void (GL_APIENTRY * glBindFragDataLocation)( GLuint program, GLuint color, const GLchar* name );
void (GL_APIENTRY * glBindFragDataLocationIndexed) (GLuint program, GLuint colorNumber, GLuint index, const GLchar * name);
GLint (GL_APIENTRY * glGetFragDataIndex) (GLuint program, const GLchar * name);
GLint (GL_APIENTRY * glGetFragDataLocation)( GLuint program, const GLchar* name);
void (GL_APIENTRY * glUniform1ui)( GLint location, GLuint v0 );
void (GL_APIENTRY * glUniform2ui)( GLint location, GLuint v0, GLuint v1 );
void (GL_APIENTRY * glUniform3ui)( GLint location, GLuint v0, GLuint v1, GLuint v2 );
void (GL_APIENTRY * glUniform4ui)( GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 );
void (GL_APIENTRY * glUniform1uiv)( GLint location, GLsizei count, const GLuint *value );
void (GL_APIENTRY * glUniform2uiv)( GLint location, GLsizei count, const GLuint *value );
void (GL_APIENTRY * glUniform3uiv)( GLint location, GLsizei count, const GLuint *value );
void (GL_APIENTRY * glUniform4uiv)( GLint location, GLsizei count, const GLuint *value );
void (GL_APIENTRY * glUniform1i64 )(GLint location, GLint64 x) ;
void (GL_APIENTRY * glUniform1i64v )(GLint location, GLsizei count, const GLint64* value) ;
void (GL_APIENTRY * glUniform1ui64 )(GLint location, GLuint64 x) ;
void (GL_APIENTRY * glUniform1ui64v)(GLint location, GLsizei count, const GLuint64* value) ;
void (GL_APIENTRY * glUniform2i64 )(GLint location, GLint64 x, GLint64 y) ;
void (GL_APIENTRY * glUniform2i64v )(GLint location, GLsizei count, const GLint64* value) ;
void (GL_APIENTRY * glUniform2ui64 )(GLint location, GLuint64 x, GLuint64 y) ;
void (GL_APIENTRY * glUniform2ui64v)(GLint location, GLsizei count, const GLuint64* value) ;
void (GL_APIENTRY * glUniform3i64 )(GLint location, GLint64 x, GLint64 y, GLint64 z) ;
void (GL_APIENTRY * glUniform3i64v )(GLint location, GLsizei count, const GLint64* value) ;
void (GL_APIENTRY * glUniform3ui64 )(GLint location, GLuint64 x, GLuint64 y, GLuint64 z) ;
void (GL_APIENTRY * glUniform3ui64v)(GLint location, GLsizei count, const GLuint64* value) ;
void (GL_APIENTRY * glUniform4i64 )(GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w) ;
void (GL_APIENTRY * glUniform4i64v )(GLint location, GLsizei count, const GLint64* value) ;
void (GL_APIENTRY * glUniform4ui64 )(GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w) ;
void (GL_APIENTRY * glUniform4ui64v)(GLint location, GLsizei count, const GLuint64* value) ;
GLuint (GL_APIENTRY * glGetHandleARB) (GLenum pname);
void (GL_APIENTRY * glGetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices);
void (GL_APIENTRY * glGetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
void (GL_APIENTRY * glGetActiveUniformName)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
GLuint (GL_APIENTRY * glGetUniformBlockIndex)(GLuint program, const GLchar *uniformBlockName);
void (GL_APIENTRY * glGetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
void (GL_APIENTRY * glGetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
void (GL_APIENTRY * glUniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
void (GL_APIENTRY * glGetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
void (GL_APIENTRY * glProgramBinary)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
void (GL_APIENTRY * glUniform1d)(GLint location, GLdouble v0);
void (GL_APIENTRY * glUniform2d)(GLint location, GLdouble v0, GLdouble v1);
void (GL_APIENTRY * glUniform3d)(GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
void (GL_APIENTRY * glUniform4d)(GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
void (GL_APIENTRY * glUniform1dv)(GLint location, GLsizei count, const GLdouble *value);
void (GL_APIENTRY * glUniform2dv)(GLint location, GLsizei count, const GLdouble *value);
void (GL_APIENTRY * glUniform3dv)(GLint location, GLsizei count, const GLdouble *value);
void (GL_APIENTRY * glUniform4dv)(GLint location, GLsizei count, const GLdouble *value);
void (GL_APIENTRY * glUniformMatrix2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
void (GL_APIENTRY * glUniformMatrix3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
void (GL_APIENTRY * glUniformMatrix4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
void (GL_APIENTRY * glUniformMatrix2x3dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value );
void (GL_APIENTRY * glUniformMatrix3x2dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value );
void (GL_APIENTRY * glUniformMatrix2x4dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value );
void (GL_APIENTRY * glUniformMatrix4x2dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value );
void (GL_APIENTRY * glUniformMatrix3x4dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value );
void (GL_APIENTRY * glUniformMatrix4x3dv)( GLint location, GLsizei count, GLboolean transpose, const GLdouble* value );
void (GL_APIENTRY * glGetActiveAtomicCounterBufferiv)( GLuint program, GLuint bufferIndex, GLenum pname, GLint* params );
void (GL_APIENTRY * glDispatchCompute)( GLuint numGroupsX, GLuint numGroupsY, GLuint numGroupsZ );
// ARB_bindless_texture
GLuint64 (GL_APIENTRY* glGetTextureHandle)(GLuint texture);
GLuint64 (GL_APIENTRY* glGetTextureSamplerHandle)(GLuint texture, GLuint sampler);
void (GL_APIENTRY* glMakeTextureHandleResident)(GLuint64 handle);
void (GL_APIENTRY* glMakeTextureHandleNonResident)(GLuint64 handle);
GLboolean (GL_APIENTRY* glIsTextureHandleResident)(GLuint64 handle);
GLuint64 (GL_APIENTRY* glGetImageHandle)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
void (GL_APIENTRY* glMakeImageHandleResident)(GLuint64 handle);
void (GL_APIENTRY* glMakeImageHandleNonResident)(GLuint64 handle);
GLboolean (GL_APIENTRY* glIsImageHandleResident)(GLuint64 handle);
void (GL_APIENTRY* glUniformHandleui64)(GLint location, GLuint64 handle);
void (GL_APIENTRY* glUniformHandleuiv64)(GLint location, GLsizei count, GLuint64 *handles);
void (GL_APIENTRY* glProgramUniformHandleui64)(GLuint program, GLint location, GLuint64 handle);
void (GL_APIENTRY* glProgramUniformHandleuiv64)(GLuint program, GLint location, GLsizei count, GLuint64 *handles);
// Buffer Object extensions
bool isBufferObjectSupported;
bool isVBOSupported;
bool isPBOSupported;
bool isTBOSupported;
bool isVAOSupported;
bool isTransformFeedbackSupported;
void (GL_APIENTRY * glGenBuffers) (GLsizei n, GLuint *buffers);
void (GL_APIENTRY * glBindBuffer) (GLenum target, GLuint buffer);
void (GL_APIENTRY * glBufferData) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
void (GL_APIENTRY * glBufferSubData) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
void (GL_APIENTRY * glDeleteBuffers) (GLsizei n, const GLuint *buffers);
GLboolean (GL_APIENTRY * glIsBuffer) (GLuint buffer);
void (GL_APIENTRY * glGetBufferSubData) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
GLvoid* (GL_APIENTRY * glBufferStorage) (GLenum target, GLintptr size, const GLvoid * data, GLbitfield flags);
GLvoid* (GL_APIENTRY * glNamedBufferStorage) (GLuint buffer, GLsizei size, const void * data, GLbitfield flags);
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, GLenum pname, GLint *params);
void (GL_APIENTRY * glGetBufferPointerv) (GLenum target, GLenum pname, GLvoid* *params);
void (GL_APIENTRY * glBindBufferRange) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
void (GL_APIENTRY * glBindBufferBase) (GLenum target, GLuint index, GLuint buffer);
void (GL_APIENTRY * glTexBuffer) (GLenum target, GLenum internalFormat, GLuint buffer);
void (GL_APIENTRY * glMemoryBarrier)( GLbitfield barriers );
// BlendFunc extensions
bool isBlendFuncSeparateSupported;
void (GL_APIENTRY * glBlendFuncSeparate) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) ;
void (GL_APIENTRY * glBlendFunci) (GLuint buf, GLenum src, GLenum dst);
void (GL_APIENTRY * glBlendFuncSeparatei) (GLuint buf, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) ;
// Vertex Array extensions
bool isSecondaryColorSupported;
bool isFogCoordSupported;
bool isMultiTexSupported;
bool isOcclusionQuerySupported;
bool isARBOcclusionQuerySupported;
bool isTimerQuerySupported;
bool isARBTimerQuerySupported;
void (GL_APIENTRY * glDrawArraysInstanced)( GLenum mode, GLint first, GLsizei count, GLsizei primcount );
void (GL_APIENTRY * glDrawElementsInstanced)( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount );
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,GLfloat coord);
void (GL_APIENTRY * glMultiTexCoord4f) (GLenum target, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
void (GL_APIENTRY * glMultiTexCoord1fv) (GLenum target,const GLfloat* coord);
void (GL_APIENTRY * glMultiTexCoord2fv) (GLenum target,const GLfloat* coord);
void (GL_APIENTRY * glMultiTexCoord3fv) (GLenum target,const GLfloat* coord);
void (GL_APIENTRY * glMultiTexCoord4fv) (GLenum target,const GLfloat* coord);
void (GL_APIENTRY * glMultiTexCoord1d) (GLenum target,GLdouble coord);
void (GL_APIENTRY * glMultiTexCoord1dv) (GLenum target,const GLdouble* coord);
void (GL_APIENTRY * glMultiTexCoord2dv) (GLenum target,const GLdouble* coord);
void (GL_APIENTRY * glMultiTexCoord3dv) (GLenum target,const GLdouble* coord);
void (GL_APIENTRY * glMultiTexCoord4dv) (GLenum target,const GLdouble* coord);
// Occlusion Query extensions
void (GL_APIENTRY * glGenOcclusionQueries) ( GLsizei n, GLuint *ids );
void (GL_APIENTRY * glDeleteOcclusionQueries) ( GLsizei n, const GLuint *ids );
GLboolean (GL_APIENTRY * glIsOcclusionQuery) ( GLuint id );
void (GL_APIENTRY * glBeginOcclusionQuery) ( GLuint id );
void (GL_APIENTRY * glEndOcclusionQuery) ();
void (GL_APIENTRY * glGetOcclusionQueryiv) ( GLuint id, GLenum pname, GLint *params );
void (GL_APIENTRY * glGetOcclusionQueryuiv) ( GLuint id, GLenum pname, GLuint *params );
void (GL_APIENTRY * glGetQueryiv) (GLenum target, GLenum pname, GLint *params);
void (GL_APIENTRY * glGenQueries) (GLsizei n, GLuint *ids);
void (GL_APIENTRY * glBeginQuery) (GLenum target, GLuint id);
void (GL_APIENTRY * glEndQuery) (GLenum target);
void (GL_APIENTRY * glBeginQueryIndexed) (GLenum target, GLuint index, GLuint id);
void (GL_APIENTRY * glEndQueryIndexed) (GLenum target, GLuint index);
void (GL_APIENTRY * glQueryCounter) (GLuint id, GLenum target);
GLboolean (GL_APIENTRY * glIsQuery) (GLuint id);
void (GL_APIENTRY * glDeleteQueries) (GLsizei n, const GLuint *ids);
void (GL_APIENTRY * glGetQueryObjectiv) (GLuint id, GLenum pname, GLint *params);
void (GL_APIENTRY * glGetQueryObjectuiv) (GLuint id, GLenum pname, GLuint *params);
void (GL_APIENTRY * glGetQueryObjectui64v) (GLuint id, GLenum pname, GLuint64 *params);
void (GL_APIENTRY * glGetInteger64v) (GLenum pname, GLint64 *params);
// SampleMaski functionality
bool isOpenGL32upported;
bool isTextureMultisampleSupported;
bool isSampleMaskiSupported;
void (GL_APIENTRY * glSampleMaski) (GLuint maskNumber, GLbitfield mask);
// Vertex/Fragment Programs
bool isVertexProgramSupported;
bool isFragmentProgramSupported;
void (GL_APIENTRY * glBindProgram) (GLenum target, GLuint id);
void (GL_APIENTRY * glGenPrograms) (GLsizei n, GLuint *programs);
void (GL_APIENTRY * glDeletePrograms) (GLsizei n, GLuint *programs);
void (GL_APIENTRY * glProgramString) (GLenum target, GLenum format, GLsizei len, const void *string);
void (GL_APIENTRY * glProgramLocalParameter4fv) (GLenum target, GLuint index, const GLfloat *params);
// Sample Extensions (OpenGL>=3.3)
void (GL_APIENTRY * glSamplerParameteri)(GLuint sampler, GLenum param, GLint value);
void (GL_APIENTRY * glSamplerParameterf)(GLuint sampler, GLenum param, GLfloat value);
void (GL_APIENTRY * glSamplerParameteriv)(GLuint sampler, GLenum param, GLint *value);
void (GL_APIENTRY * glSamplerParameterfv)(GLuint sampler, GLenum param, GLfloat *value);
void (GL_APIENTRY * glSamplerParameterIiv)(GLuint sampler, GLenum param, GLint *value);
void (GL_APIENTRY * glSamplerParameterIuiv)(GLuint sampler, GLenum param, GLuint *value);
void (GL_APIENTRY * glGetSamplerParameteriv)(GLuint sampler, GLenum param, GLint *value);
void (GL_APIENTRY * glGetSamplerParameterfv)(GLuint sampler, GLenum param, GLfloat *value);
void (GL_APIENTRY * glGetSamplerParameterIiv)(GLuint sampler, GLenum param, GLint *value);
void (GL_APIENTRY * glGetSamplerParameterIuiv)(GLuint sampler, GLenum param, GLuint *value);
void (GL_APIENTRY * glGenSamplers)(GLsizei size,GLuint * samplers);
void (GL_APIENTRY * glDeleteSamplers)(GLsizei size,const GLuint * samplers);
void (GL_APIENTRY * glBindSampler)(GLuint tu, GLuint sampler);
GLboolean (GL_APIENTRY * glIsSampler)(GLuint id);
// Texture Extensions
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 isClientStorageSupported;
bool isTextureIntegerEXTSupported;
bool isTextureStorageEnabled;
bool isTexStorage2DSupported() const { return glTexStorage2D != 0; }
bool isCompressedTexImage2DSupported() const { return glCompressedTexImage2D!=0; }
bool isCompressedTexSubImage2DSupported() const { return glCompressedTexSubImage2D!=0; }
bool isBindImageTextureSupported() const { return glBindImageTexture!=0; }
bool isNonPowerOfTwoTextureMipMappedSupported;
bool isNonPowerOfTwoTextureNonMipMappedSupported;
bool isNonPowerOfTwoTextureSupported(GLenum filter) const
{
return (filter==GL_LINEAR || filter==GL_NEAREST) ?
isNonPowerOfTwoTextureNonMipMappedSupported :
isNonPowerOfTwoTextureMipMappedSupported;
}
void (GL_APIENTRY * glTexStorage1D) (GLenum target, GLsizei numMipmapLevels, GLenum internalformat, GLsizei width);
void (GL_APIENTRY * glTextureStorage1D) (GLuint texture, GLsizei numMipmapLevels, GLenum internalformat, GLsizei width);
void (GL_APIENTRY * glTexStorage2D) (GLenum target, GLsizei numMipmapLevels, GLenum internalformat, GLsizei width, GLsizei height);
void (GL_APIENTRY * glTextureStorage2D) (GLuint texture, GLsizei numMipmapLevels, GLenum internalformat, GLsizei width, GLsizei height);
void (GL_APIENTRY * glTexStorage3D) ( GLenum target, GLsizei numMipmapLevels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
void (GL_APIENTRY * glTextureStorage3D) ( GLuint texture, GLsizei numMipmapLevels,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth);
void (GL_APIENTRY * glTexStorage2DMultisample) ( GLenum target, GLsizei numSamples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
void (GL_APIENTRY * glTexStorage3DMultisample) ( GLenum target, GLsizei numSamples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
void (GL_APIENTRY * glTextureView) ( GLuint texture, GLenum target, GLuint orig, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
void (GL_APIENTRY * glCompressedTexImage2D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
void (GL_APIENTRY * glCompressedTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
void (GL_APIENTRY * glGetCompressedTexImage) (GLenum target, GLint level, GLvoid *data);
void (GL_APIENTRY * glTexImage2DMultisample) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
void (GL_APIENTRY * glTexParameterIiv) (GLenum target, GLenum pname, const GLint* data);
void (GL_APIENTRY * glTexParameterIuiv) (GLenum target, GLenum pname, const GLuint* data);
void (GL_APIENTRY * glBindImageTexture) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
// Texture3D extensions
bool isTexture3DSupported;
bool isTexture3DFast;
GLint maxTexture3DSize;
bool isCompressedTexImage3DSupported() const { return glCompressedTexImage3D!=0; }
bool isCompressedTexSubImage3DSupported() const { return glCompressedTexSubImage3D!=0; }
void (GL_APIENTRY * glTexImage3D) ( GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
void (GL_APIENTRY * glTexSubImage3D) ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
void (GL_APIENTRY * glCopyTexSubImage3D) ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
void (GL_APIENTRY * glCompressedTexImage3D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
void (GL_APIENTRY * glCompressedTexSubImage3D) ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
void (GL_APIENTRY *glTexImage3DMultisample) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
void (GL_APIENTRY *glGetMultisamplefv) (GLenum pname, GLuint index, GLfloat *val);
// Texture2DArray extensions
bool isTexture2DArraySupported;
GLint maxLayerCount;
GLint max2DSize;
// Blending
bool isBlendColorSupported;
bool isBlendEquationSupported;
bool isBlendEquationSeparateSupported;
bool isSGIXMinMaxSupported;
bool isLogicOpSupported;
void (GL_APIENTRY * glBlendColor) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
void (GL_APIENTRY * glBlendEquation)(GLenum mode);
void (GL_APIENTRY * glBlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha);
void (GL_APIENTRY * glBlendEquationi)(GLuint buf, GLenum mode);
void (GL_APIENTRY * glBlendEquationSeparatei)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
// glEnablei/glDisabeli
void (GL_APIENTRY * glEnablei) (GLenum capability, GLuint buf);
void (GL_APIENTRY * glDisablei) (GLenum capability, GLuint buf);
// Stencil
bool isStencilWrapSupported;
bool isStencilTwoSidedSupported;
bool isOpenGL20Supported;
bool isSeparateStencilSupported;
void (GL_APIENTRY * glActiveStencilFace) (GLenum face);
void (GL_APIENTRY * glStencilOpSeparate) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
void (GL_APIENTRY * glStencilMaskSeparate) (GLenum face, GLuint mask);
void (GL_APIENTRY * glStencilFuncSeparate) (GLenum face, GLenum func, GLint ref, GLuint mask);
void (GL_APIENTRY * glStencilFuncSeparateATI) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
// ColorMask
void (GL_APIENTRY * glColorMaski)(GLuint buf, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
// ClampColor
bool isClampColorSupported;
void (GL_APIENTRY * glClampColor) (GLenum target, GLenum mode);
// PrimitiveRestartIndex
void (GL_APIENTRY * glPrimitiveRestartIndex) ( GLuint index );
// Mutlisample
bool isMultisampleSupported;
bool isMultisampleFilterHintSupported;
void (GL_APIENTRY * glSampleCoverage) (GLfloat value, GLboolean invert);
// Point
bool isPointParametersSupported;
bool isPointSpriteSupported;
bool isPointSpriteModeSupported;
bool isPointSpriteCoordOriginSupported;
void (GL_APIENTRY * glPointParameteri) (GLenum pname, GLint param);
void (GL_APIENTRY * glPointParameterf) (GLenum pname, GLfloat param);
void (GL_APIENTRY * glPointParameterfv) (GLenum pname, const GLfloat *params);
// FrameBuferObject
bool isFrameBufferObjectSupported;
bool isPackedDepthStencilSupported;
bool isMultisampledRenderToTextureSupported;
bool isInvalidateFramebufferSupported;
bool isRenderbufferMultisampleSupported() const { return glRenderbufferStorageMultisample != 0; }
bool isRenderbufferMultisampleCoverageSupported() const { return glRenderbufferStorageMultisampleCoverageNV != 0; }
void (GL_APIENTRY * glBindRenderbuffer) (GLenum, GLuint);
void (GL_APIENTRY * glDeleteRenderbuffers) (GLsizei n, const GLuint *renderbuffers);
void (GL_APIENTRY * glGenRenderbuffers) (GLsizei, GLuint *);
void (GL_APIENTRY * glRenderbufferStorage) (GLenum, GLenum, GLsizei, GLsizei);
void (GL_APIENTRY * glRenderbufferStorageMultisample) (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
void (GL_APIENTRY * glRenderbufferStorageMultisampleCoverageNV) (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
void (GL_APIENTRY * glBindFramebuffer) (GLenum, GLuint);
void (GL_APIENTRY * glDeleteFramebuffers) (GLsizei n, const GLuint *framebuffers);
void (GL_APIENTRY * glGenFramebuffers) (GLsizei, GLuint *);
GLenum (GL_APIENTRY * glCheckFramebufferStatus) (GLenum);
void (GL_APIENTRY * glFramebufferTexture1D) (GLenum, GLenum, GLenum, GLuint, GLint);
void (GL_APIENTRY * glFramebufferTexture2D) (GLenum, GLenum, GLenum, GLuint, GLint);
void (GL_APIENTRY * glFramebufferTexture2DMultisample) (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
void (GL_APIENTRY * glFramebufferTexture3D) (GLenum, GLenum, GLenum, GLuint, GLint, GLint);
void (GL_APIENTRY * glFramebufferTexture) (GLenum, GLenum, GLint, GLint);
void (GL_APIENTRY * glFramebufferTextureLayer) (GLenum, GLenum, GLuint, GLint, GLint);
void (GL_APIENTRY * glFramebufferTextureFace)( GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face );
void (GL_APIENTRY * glFramebufferRenderbuffer) (GLenum, GLenum, GLenum, GLuint);
void (GL_APIENTRY * glGenerateMipmap) (GLenum);
void (GL_APIENTRY * glBlitFramebuffer) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
void (GL_APIENTRY * glInvalidateFramebuffer) (GLenum, GLsizei, const GLenum*); // GL_ARB_invalidate_subdata or GL 4.3 or GLES 3
void (GL_APIENTRY * glGetRenderbufferParameteriv) (GLenum, GLenum, GLint*);
//ARB_framebuffer_no_attachments
void (GL_APIENTRY * glFramebufferParameteri)(GLenum target, GLenum pname, GLint param);
void (GL_APIENTRY * glGetFramebufferParameteriv)(GLenum target, GLenum pname, GLint *params);
void (GL_APIENTRY * glNamedFramebufferParameteri)(GLuint fbo, GLenum pname, GLint param);
void (GL_APIENTRY * glGetNamedFramebufferParameteriv)(GLuint fbo, GLenum pname, GLint *params);
//subroutine
GLint(GL_APIENTRY* glGetSubroutineUniformLocation) (GLuint program, GLenum shadertype, const GLchar *name);
void (GL_APIENTRY * glGetActiveSubroutineUniformName) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
void (GL_APIENTRY * glGetActiveSubroutineUniformiv) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
GLuint (GL_APIENTRY * glGetSubroutineIndex) (GLuint program, GLenum shadertype, const GLchar *name);
void (GL_APIENTRY * glGetActiveSubroutineName) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
void (GL_APIENTRY * glGetProgramStageiv) (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
void (GL_APIENTRY *glUniformSubroutinesuiv) (GLenum shadertype, GLsizei count,const GLuint * indices);
void (GL_APIENTRY * glGetUniformSubroutineuiv) (GLenum shadertype, GLint location, GLuint *params);
// Sync
GLsync (GL_APIENTRY * glFenceSync) (GLenum condition, GLbitfield flags);
GLboolean (GL_APIENTRY * glIsSync) (GLsync sync);
void (GL_APIENTRY * glDeleteSync) (GLsync sync);
GLenum (GL_APIENTRY * glClientWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout);
void (GL_APIENTRY * glWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout);
void (GL_APIENTRY * glGetSynciv) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
// Indirect Rendering
void (GL_APIENTRY * glDrawArraysIndirect) (GLenum mode, const void * indirect);
void (GL_APIENTRY * glMultiDrawArraysIndirect) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
void (GL_APIENTRY * glDrawElementsIndirect) (GLenum mode, GLenum type, const void *indirect);
void (GL_APIENTRY * glMultiDrawElementsIndirect)(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
// ARB_sparse_texture
void (GL_APIENTRY * glTexPageCommitment) (GLenum target, GLint level,GLint xoffset,GLint yoffset,GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,GLboolean commit);
// Transform feedback
void (GL_APIENTRY * glBeginTransformFeedback) (GLenum primitiveMode);
void (GL_APIENTRY * glEndTransformFeedback) (void);
void (GL_APIENTRY * glTransformFeedbackVaryings) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
void (GL_APIENTRY * glGetTransformFeedbackVarying) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
void (GL_APIENTRY * glBindTransformFeedback) (GLenum target, GLuint id);
void (GL_APIENTRY * glDeleteTransformFeedbacks) (GLsizei n, const GLuint *ids);
void (GL_APIENTRY * glGenTransformFeedbacks) (GLsizei n, GLuint *ids);
GLboolean (GL_APIENTRY * glIsTransformFeedback) (GLuint id);
void (GL_APIENTRY * glPauseTransformFeedback) (void);
void (GL_APIENTRY * glResumeTransformFeedback) (void);
void (GL_APIENTRY * glDrawTransformFeedback) (GLenum mode, GLuint id);
void (GL_APIENTRY * glDrawTransformFeedbackStream) (GLenum mode, GLuint id, GLuint stream);
void (GL_APIENTRY * glDrawTransformFeedbackInstanced) (GLenum mode, GLuint id, GLsizei instancecount);
void (GL_APIENTRY * glDrawTransformFeedbackStreamInstanced) (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
void (GL_APIENTRY * glCreateTransformFeedbacks) (GLsizei n, GLuint *ids);
void (GL_APIENTRY * glTransformFeedbackBufferBase) (GLuint xfb, GLuint index, GLuint buffer);
void (GL_APIENTRY * glTransformFeedbackBufferRange) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size);
void (GL_APIENTRY * glGetTransformFeedbackiv) (GLuint xfb, GLenum pname, GLint *param);
void (GL_APIENTRY * glGetTransformFeedbacki_v) (GLuint xfb, GLenum pname, GLuint index, GLint *param);
void (GL_APIENTRY * glGetTransformFeedbacki64_v) (GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
// Vertex Array Object
void (GL_APIENTRY * glDeleteVertexArrays) (GLsizei size,const GLuint *handles);
void (GL_APIENTRY * glGenVertexArrays) (GLsizei size, GLuint *handles);
GLboolean (GL_APIENTRY * glIsVertexArray) (GLuint handle);
void (GL_APIENTRY * glBindVertexArray) (GLuint handle);
// OpenGL 4.3 / ARB_vertex_attrib_binding
bool isVertexAttribBindingSupported;
void (GL_APIENTRY * glBindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLintptr stride);
void (GL_APIENTRY * glVertexArrayVertexBuffer)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
void (GL_APIENTRY * glVertexAttribBinding)(GLuint attribindex, GLuint bindingindex);
void (GL_APIENTRY * glVertexArrayAttribBinding)(GLuint vaobj, GLuint attribindex, GLuint bindingindex);
void (GL_APIENTRY * glVertexAttribFormat)( GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
void (GL_APIENTRY * glVertexAttribIFormat)( GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
void (GL_APIENTRY * glVertexAttribLFormat)( GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
void (GL_APIENTRY * glVertexArrayAttribFormat)( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
void (GL_APIENTRY * glVertexArrayAttribIFormat)( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
void (GL_APIENTRY * glVertexArrayAttribLFormat)( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
// MultiDrawArrays
void (GL_APIENTRY * glMultiDrawArrays) (GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount);
void (GL_APIENTRY * glMultiDrawElements) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);
void (GL_APIENTRY * glMultiDrawElementsBaseVertex) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);
void (GL_APIENTRY * glDrawRangeElements) ( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
void (GL_APIENTRY * glDrawElementsBaseVertex) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
void (GL_APIENTRY * glDrawElementsInstancedBaseVertex) (GLenum mode, GLsizei count, GLenum type, const void *indices,GLsizei primcount, GLint basevertex);
void (GL_APIENTRY * glDrawRangeElementsBaseVertex) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
void (GL_APIENTRY * glProvokingVertex) (GLenum mode);
void (GL_APIENTRY * glBeginConditionalRender) (GLuint id, GLenum mode);
void (GL_APIENTRY * glEndConditionalRender) (void);
void (GL_APIENTRY *glDrawArraysInstancedBaseInstance) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
void (GL_APIENTRY * glDrawElementsInstancedBaseInstance) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
void (GL_APIENTRY *glDrawElementsInstancedBaseVertexBaseInstance) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
// ViewportArray
bool isViewportArraySupported;
void (GL_APIENTRY * glViewportArrayv) (GLuint first, GLsizei count, const GLfloat * v);
void (GL_APIENTRY * glViewportIndexedf) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
void (GL_APIENTRY * glViewportIndexedfv) (GLuint index, const GLfloat * v);
void (GL_APIENTRY * glScissorArrayv) (GLuint first, GLsizei count, const GLint * v);
void (GL_APIENTRY * glScissorIndexed) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
void (GL_APIENTRY * glScissorIndexedv) (GLuint index, const GLint * v);
void (GL_APIENTRY * glDepthRangeArrayv) (GLuint first, GLsizei count, const GLdouble * v);
void (GL_APIENTRY * glDepthRangeIndexed) (GLuint index, GLdouble n, GLdouble f);
void (GL_APIENTRY * glDepthRangeIndexedf) (GLuint index, GLfloat n, GLfloat f);
void (GL_APIENTRY * glGetFloati_v) (GLenum target, GLuint index, GLfloat *data);
void (GL_APIENTRY * glGetDoublei_v) (GLenum target, GLuint index, GLdouble *data);
//introduced by other OpenGL extensions such as EXT_draw_buffers2
void (GL_APIENTRY * glGetIntegerIndexedvEXT) (GLenum target, GLuint index, int * v);
void (GL_APIENTRY * glEnableIndexedEXT) (GLenum target, GLuint index);
void (GL_APIENTRY * glDisableIndexedEXT) (GLenum target, GLuint index);
GLboolean (GL_APIENTRY * glIsEnabledIndexedEXT) (GLenum target, GLuint index);
void (GL_APIENTRY * glClientActiveTexture) (GLenum texture);
void (GL_APIENTRY * glActiveTexture) (GLenum texture);
void (GL_APIENTRY * glFogCoordPointer) (GLenum type, GLsizei stride, const GLvoid *pointer);
void (GL_APIENTRY * glSecondaryColorPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
GLint glMaxTextureCoords;
GLint glMaxTextureUnits;
// debug extensions
void (GL_APIENTRY * glObjectLabel) (GLenum identifier, GLuint name, GLsizei length, const GLchar* label);
void debugObjectLabel(GLenum identifier, GLuint name, const std::string& label) const { if (glObjectLabel && !label.empty()) glObjectLabel(identifier, name, label.size(), label.c_str()); }
protected:
virtual ~GLExtensions();
};
}
#endif
GLDefines
GLchar
char GLchar
Definition GLDefines:45
osg::GLExtensions::void
void(GL_APIENTRY *glBindSampler)(GLuint tu
osg::GLExtensions::void
void(GL_APIENTRY *glWaitSync)(GLsync sync
osg::GLExtensions::isCompressedTexSubImage2DSupported
bool isCompressedTexSubImage2DSupported() const
Definition GLExtensions:549
osg::GLExtensions::void
void(GL_APIENTRY *glResumeTransformFeedback)(void)
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsProgram)(GLuint program)
osg::GLExtensions::isBlendEquationSupported
bool isBlendEquationSupported
Definition GLExtensions:604
osg::GLExtensions::programs
GLuint * programs
Definition GLExtensions:498
osg::GLExtensions::values
const GLfloat * values
Definition GLExtensions:318
osg::GLExtensions::isTextureCompressionETCSupported
bool isTextureCompressionETCSupported
Definition GLExtensions:529
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib3fv)(GLuint index
osg::GLExtensions::layered
GLint GLboolean layered
Definition GLExtensions:384
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix4x2dv)(GLint location
osg::GLExtensions::f
GLdouble GLdouble f
Definition GLExtensions:806
osg::GLExtensions::uniformIndex
GLuint uniformIndex
Definition GLExtensions:351
osg::GLExtensions::GLuint
GLuint(GL_APIENTRY *glCreateShader)(GLenum type)
osg::GLExtensions::void
void(GL_APIENTRY *glDeleteQueries)(GLsizei n
osg::GLExtensions::void
void(GL_APIENTRY *glCreateTransformFeedbacks)(GLsizei n
osg::GLExtensions::void
void(GL_APIENTRY *glGetQueryiv)(GLenum target
osg::GLExtensions::glMaxTextureUnits
GLint glMaxTextureUnits
Definition GLExtensions:823
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glUnmapBuffer)(GLenum target)
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib3s)(GLuint index
osg::GLExtensions::offset
GLintptr offset
Definition GLExtensions:404
osg::GLExtensions::GLenum
GLuint * GLenum(GL_APIENTRY *glCheckFramebufferStatus)(GLenum)
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix3dv)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glUniform4fv)(GLint location
osg::GLExtensions::blue
GLfloat GLfloat blue
Definition GLExtensions:609
osg::GLExtensions::id
GLuint id
Definition GLExtensions:473
osg::GLExtensions::void
void(GL_APIENTRY *glClientActiveTexture)(GLenum texture)
osg::GLExtensions::void
void(GL_APIENTRY *glUniform2iv)(GLint location
osg::GLExtensions::isTextureCompressionPVRTCSupported
bool isTextureCompressionPVRTCSupported
Definition GLExtensions:532
osg::GLExtensions::isGpuShaderFp64Supported
bool isGpuShaderFp64Supported
Definition GLExtensions:207
osg::GLExtensions::GLint
GLint(GL_APIENTRY *glGetAttribLocation)(GLuint program
osg::GLExtensions::bufSize
GLuint GLsizei bufSize
Definition GLExtensions:225
osg::GLExtensions::samplers
GLuint * samplers
Definition GLExtensions:516
osg::GLExtensions::void
void(GL_APIENTRY *glFramebufferTexture1D)(GLenum
osg::GLExtensions::glVersion
float glVersion
Definition GLExtensions:194
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib2s)(GLuint index
osg::GLExtensions::isBlendFuncSeparateSupported
bool isBlendFuncSeparateSupported
Definition GLExtensions:422
osg::GLExtensions::isShadowAmbientSupported
bool isShadowAmbientSupported
Definition GLExtensions:540
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix2x4dv)(GLint location
osg::GLExtensions::binary
GLsizei GLsizei GLenum GLvoid * binary
Definition GLExtensions:356
osg::GLExtensions::flags
GLbitfield flags
Definition GLExtensions:716
osg::GLExtensions::isTextureCompressionARBSupported
bool isTextureCompressionARBSupported
Definition GLExtensions:525
osg::GLExtensions::framebuffers
const GLuint * framebuffers
Definition GLExtensions:681
osg::GLExtensions::invert
GLboolean invert
Definition GLExtensions:651
osg::GLExtensions::basevertex
const GLsizei GLenum const void *const GLsizei const GLint * basevertex
Definition GLExtensions:777
osg::GLExtensions::void
void(GL_APIENTRY *glGetQueryObjectiv)(GLuint id
osg::GLExtensions::bottom
GLint GLint bottom
Definition GLExtensions:803
osg::GLExtensions::GLsizei
GLuint GLsizei
Definition GLExtensions:677
osg::GLExtensions::isRenderbufferMultisampleCoverageSupported
bool isRenderbufferMultisampleCoverageSupported() const
Definition GLExtensions:672
osg::GLExtensions::width
GLsizei GLenum GLsizei width
Definition GLExtensions:561
osg::GLExtensions::isTextureSwizzleSupported
bool isTextureSwizzleSupported
Definition GLExtensions:524
osg::GLExtensions::uniformCount
GLsizei uniformCount
Definition GLExtensions:349
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix3fv)(GLint location
osg::GLExtensions::getShaderInfoLog
bool getShaderInfoLog(GLuint shader, std::string &result) const
osg::GLExtensions::isTextureStorageEnabled
bool isTextureStorageEnabled
Definition GLExtensions:545
osg::GLExtensions::isTBOSupported
bool isTBOSupported
Definition GLExtensions:397
osg::GLExtensions::numlevels
GLenum GLuint GLenum GLuint GLuint numlevels
Definition GLExtensions:569
osg::GLExtensions::ref
GLenum GLint ref
Definition GLExtensions:630
osg::GLExtensions::isBindImageTextureSupported
bool isBindImageTextureSupported() const
Definition GLExtensions:550
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsTextureHandleResident)(GLuint64 handle)
osg::GLExtensions::void
void(GL_APIENTRY *glDeleteObjectARB)(GLuint program)
osg::GLExtensions::transpose
GLsizei GLboolean transpose
Definition GLExtensions:264
osg::GLExtensions::type
GLuint GLsizei GLsizei GLint GLenum * type
Definition GLExtensions:225
osg::GLExtensions::void
void(GL_APIENTRY *glEnableIndexedEXT)(GLenum target
osg::GLExtensions::access
GLuint GLint GLboolean GLint GLenum access
Definition GLExtensions:577
osg::GLExtensions::infoLog
GLsizei GLsizei GLchar * infoLog
Definition GLExtensions:231
osg::GLExtensions::isPointParametersSupported
bool isPointParametersSupported
Definition GLExtensions:655
osg::GLExtensions::isFrameBufferObjectSupported
bool isFrameBufferObjectSupported
Definition GLExtensions:666
osg::GLExtensions::isSampleMaskiSupported
bool isSampleMaskiSupported
Definition GLExtensions:489
osg::GLExtensions::void
void(GL_APIENTRY *glUniform4i64v)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4iv)(GLuint index
osg::GLExtensions::z
GLdouble GLdouble GLdouble z
Definition GLExtensions:280
osg::GLExtensions::attachment
GLenum attachment
Definition GLExtensions:691
osg::GLExtensions::void
void(GL_APIENTRY *glMultiTexCoord4dv)(GLenum target
osg::GLExtensions::len
GLenum GLsizei len
Definition GLExtensions:500
osg::GLExtensions::texture
GLuint texture
Definition GLExtensions:577
osg::GLExtensions::depth
GLsizei GLenum GLsizei GLsizei GLsizei depth
Definition GLExtensions:565
osg::GLExtensions::void
void(GL_APIENTRY *glTextureStorage2D)(GLuint texture
osg::GLExtensions::timeout
GLbitfield GLuint64 timeout
Definition GLExtensions:719
osg::GLExtensions::internalFormat
GLenum internalFormat
Definition GLExtensions:417
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib2d)(GLuint index
osg::GLExtensions::isClientStorageSupported
bool isClientStorageSupported
Definition GLExtensions:543
osg::GLExtensions::getAttribLocation
bool getAttribLocation(const char *attribName, GLuint &slot) const
osg::GLExtensions::buffers
GLuint * buffers
Definition GLExtensions:401
osg::GLExtensions::glNamedBufferStorage
GLvoid *GL_APIENTRY * glNamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags)
osg::GLExtensions::bufs
const GLenum * bufs
Definition GLExtensions:213
osg::GLExtensions::height
GLsizei GLenum GLsizei GLsizei height
Definition GLExtensions:563
osg::GLExtensions::GLExtensions
GLExtensions(unsigned int in_contextID)
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix3x4dv)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glMultiTexCoord4f)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glBeginTransformFeedback)(GLenum primitiveMode)
osg::GLExtensions::isVAOSupported
bool isVAOSupported
Definition GLExtensions:398
osg::GLExtensions::binaryFormat
GLsizei GLsizei GLenum * binaryFormat
Definition GLExtensions:356
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix4x3fv)(GLint location
osg::GLExtensions::isTransformFeedbackSupported
bool isTransformFeedbackSupported
Definition GLExtensions:399
osg::GLExtensions::v2
GLfloat GLfloat GLfloat v2
Definition GLExtensions:250
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsEnabledIndexedEXT)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib2sv)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glDrawBuffers)(GLsizei n
osg::GLExtensions::GLint
GLint(GL_APIENTRY *glGetUniformLocation)(GLuint program
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix4x2fv)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glFramebufferTexture3D)(GLenum
osg::GLExtensions::isClipControlSupported
bool isClipControlSupported
Definition GLExtensions:211
osg::GLExtensions::index
GLuint index
Definition GLExtensions:215
osg::GLExtensions::void
void(GL_APIENTRY *glBlendEquation)(GLenum mode)
osg::GLExtensions::void
void(GL_APIENTRY *glMultiTexCoord4fv)(GLenum target
osg::GLExtensions::size
GLuint GLsizei GLsizei GLint * size
Definition GLExtensions:225
osg::GLExtensions::src
GLenum src
Definition GLExtensions:425
osg::GLExtensions::isOpenGL32upported
bool isOpenGL32upported
Definition GLExtensions:487
osg::GLExtensions::handles
GLsizei GLuint64 * handles
Definition GLExtensions:389
osg::GLExtensions::layer
GLint GLboolean GLint layer
Definition GLExtensions:384
osg::GLExtensions::coord
GLfloat coord
Definition GLExtensions:448
osg::GLExtensions::void
void(GL_APIENTRY *glDeleteSync)(GLsync sync)
osg::GLExtensions::void
void(GL_APIENTRY *glBindTransformFeedback)(GLenum target
osg::GLExtensions::GLuint
GLuint(GL_APIENTRY *glGetUniformBlockIndex)(GLuint program
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix4fv)(GLint location
osg::GLExtensions::isFogCoordSupported
bool isFogCoordSupported
Definition GLExtensions:431
osg::GLExtensions::~GLExtensions
virtual ~GLExtensions()
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib2f)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glClampColor)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glPauseTransformFeedback)(void)
osg::GLExtensions::colorNumber
GLuint colorNumber
Definition GLExtensions:321
osg::GLExtensions::isMultisampleSupported
bool isMultisampleSupported
Definition GLExtensions:648
osg::GLExtensions::val
GLuint GLfloat * val
Definition GLExtensions:594
osg::GLExtensions::glMapBuffer
GLvoid *GL_APIENTRY * glMapBuffer(GLenum target, GLenum access)
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4Nsv)(GLuint index
osg::GLExtensions::handle
GLuint64 handle
Definition GLExtensions:388
osg::GLExtensions::void
void(GL_APIENTRY *glGetNamedFramebufferParameteriv)(GLuint fbo
osg::GLExtensions::isLogicOpSupported
bool isLogicOpSupported
Definition GLExtensions:607
osg::GLExtensions::isTimerQuerySupported
bool isTimerQuerySupported
Definition GLExtensions:435
osg::GLExtensions::isTextureMaxLevelSupported
bool isTextureMaxLevelSupported
Definition GLExtensions:541
osg::GLExtensions::green
GLfloat green
Definition GLExtensions:609
osg::GLExtensions::void
void(GL_APIENTRY *glEndQuery)(GLenum target)
osg::GLExtensions::isShadowSupported
bool isShadowSupported
Definition GLExtensions:539
osg::GLExtensions::red
GLboolean red
Definition GLExtensions:635
osg::GLExtensions::isGeometryShader4Supported
bool isGeometryShader4Supported
Definition GLExtensions:202
osg::GLExtensions::modeRGB
GLenum modeRGB
Definition GLExtensions:613
osg::GLExtensions::isVertexAttribBindingSupported
bool isVertexAttribBindingSupported
Definition GLExtensions:761
osg::GLExtensions::void
void(GL_APIENTRY *glVertexArrayAttribLFormat)(GLuint vaobj
osg::GLExtensions::void
void(GL_APIENTRY *glUniform2i64v)(GLint location
osg::GLExtensions::maxLayerCount
GLint maxLayerCount
Definition GLExtensions:598
osg::GLExtensions::isTextureMirroredRepeatSupported
bool isTextureMirroredRepeatSupported
Definition GLExtensions:533
osg::GLExtensions::uniformBlockName
const GLchar * uniformBlockName
Definition GLExtensions:352
osg::GLExtensions::isBufferObjectSupported
bool isBufferObjectSupported
Definition GLExtensions:394
osg::GLExtensions::isTextureIntegerEXTSupported
bool isTextureIntegerEXTSupported
Definition GLExtensions:544
osg::GLExtensions::isMultiTexturingSupported
bool isMultiTexturingSupported
Definition GLExtensions:522
osg::GLExtensions::void
void(GL_APIENTRY *glMultiTexCoord2dv)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glValidateProgram)(GLuint program)
osg::GLExtensions::alpha
GLfloat GLfloat GLfloat alpha
Definition GLExtensions:609
osg::GLExtensions::y
GLdouble GLdouble y
Definition GLExtensions:274
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsShader)(GLuint shader)
osg::GLExtensions::void
void(GL_APIENTRY *glGenFramebuffers)(GLsizei
osg::GLExtensions::isNonPowerOfTwoTextureNonMipMappedSupported
bool isNonPowerOfTwoTextureNonMipMappedSupported
Definition GLExtensions:552
osg::GLExtensions::face
GLenum GLuint GLint GLenum face
Definition GLExtensions:691
osg::GLExtensions::void
void(GL_APIENTRY *glTexImage3DMultisample)(GLenum target
osg::GLExtensions::numlayers
GLenum GLuint GLenum GLuint GLuint GLuint GLuint numlayers
Definition GLExtensions:569
osg::GLExtensions::void
void(GL_APIENTRY *glScissorIndexedv)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glUniform3fv)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glDisableIndexedEXT)(GLenum target
osg::GLExtensions::shadertype
GLenum shadertype
Definition GLExtensions:706
osg::GLExtensions::void
void(GL_APIENTRY *glMultiTexCoord3dv)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glUniform3dv)(GLint location
osg::GLExtensions::isViewportArraySupported
bool isViewportArraySupported
Definition GLExtensions:797
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4Nub)(GLuint index
osg::GLExtensions::imageSize
GLint GLenum GLsizei GLsizei GLint GLsizei imageSize
Definition GLExtensions:571
osg::GLExtensions::void
void(GL_APIENTRY *glDetachShader)(GLuint program
osg::GLExtensions::data
GLsizeiptr const GLvoid * data
Definition GLExtensions:403
osg::GLExtensions::Set
static void Set(unsigned int in_contextID, GLExtensions *extensions)
osg::GLExtensions::stride
GLboolean GLsizei stride
Definition GLExtensions:304
osg::GLExtensions::isOpenGL20Supported
bool isOpenGL20Supported
Definition GLExtensions:624
osg::GLExtensions::Get
static GLExtensions * Get(unsigned int in_contextID, bool createIfNotInitalized)
osg::GLExtensions::h
GLfloat GLfloat GLfloat GLfloat h
Definition GLExtensions:800
osg::GLExtensions::label
GLuint GLsizei const GLchar * label
Definition GLExtensions:826
osg::GLExtensions::numMipmapLevels
GLsizei numMipmapLevels
Definition GLExtensions:561
osg::GLExtensions::void
void(GL_APIENTRY *glUniform2fv)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glGetShaderInfoLog)(GLuint shader
osg::GLExtensions::void
void(GL_APIENTRY *glMultiTexCoord3fv)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib1s)(GLuint index
osg::GLExtensions::isTextureCompressionETC2Supported
bool isTextureCompressionETC2Supported
Definition GLExtensions:530
osg::GLExtensions::target
GLenum target
Definition GLExtensions:477
osg::GLExtensions::numSamples
GLsizei numSamples
Definition GLExtensions:567
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4ubv)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix3x2dv)(GLint location
osg::GLExtensions::isSeparateStencilSupported
bool isSeparateStencilSupported
Definition GLExtensions:625
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4uiv)(GLuint index
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsQuery)(GLuint id)
osg::GLExtensions::GLenum
GLenum(GL_APIENTRY *glClientWaitSync)(GLsync sync
osg::GLExtensions::bufferIndex
GLuint bufferIndex
Definition GLExtensions:375
osg::GLExtensions::uniformBlockIndex
GLuint uniformBlockIndex
Definition GLExtensions:353
osg::GLExtensions::getProgramInfoLog
bool getProgramInfoLog(GLuint program, std::string &result) const
osg::GLExtensions::void
void(GL_APIENTRY *glFramebufferTexture2DMultisample)(GLenum
osg::GLExtensions::commit
GLint GLint GLint GLint GLsizei GLsizei GLsizei GLboolean commit
Definition GLExtensions:730
osg::GLExtensions::isTextureCompressionPVRTC2BPPSupported
bool isTextureCompressionPVRTC2BPPSupported
Definition GLExtensions:527
osg::GLExtensions::pname
GLenum pname
Definition GLExtensions:229
osg::GLExtensions::isTextureMultisampledSupported
bool isTextureMultisampledSupported
Definition GLExtensions:538
osg::GLExtensions::void
void(GL_APIENTRY *glUniform4ui64v)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glMakeImageHandleNonResident)(GLuint64 handle)
osg::GLExtensions::varyings
GLsizei const GLchar *const * varyings
Definition GLExtensions:735
osg::GLExtensions::isPackedDepthStencilSupported
bool isPackedDepthStencilSupported
Definition GLExtensions:667
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4usv)(GLuint index
osg::GLExtensions::xoffset
GLint GLint xoffset
Definition GLExtensions:572
osg::GLExtensions::getFragDataLocation
bool getFragDataLocation(const char *fragDataName, GLuint &slot) const
osg::GLExtensions::void
void(GL_APIENTRY *glUniform4ui64)(GLint location
osg::GLExtensions::numGroupsZ
GLuint GLuint numGroupsZ
Definition GLExtensions:376
osg::GLExtensions::GLint
GLint
Definition GLExtensions:304
osg::GLExtensions::length
GLuint GLsizei GLsizei * length
Definition GLExtensions:225
osg::GLExtensions::divisor
GLuint divisor
Definition GLExtensions:307
osg::GLExtensions::v1
GLfloat GLfloat v1
Definition GLExtensions:249
osg::GLExtensions::void
void(GL_APIENTRY *glGetVertexAttribiv)(GLuint index
osg::GLExtensions::dppass
GLenum GLenum GLenum dppass
Definition GLExtensions:628
osg::GLExtensions::numGroupsY
GLuint numGroupsY
Definition GLExtensions:376
osg::GLExtensions::void
void(GL_APIENTRY *glTransformFeedbackBufferBase)(GLuint xfb
osg::GLExtensions::dpfail
GLenum GLenum dpfail
Definition GLExtensions:628
osg::GLExtensions::isOcclusionQuerySupported
bool isOcclusionQuerySupported
Definition GLExtensions:433
osg::GLExtensions::GLuint
GLuint(GL_APIENTRY *glCreateProgram)(void)
osg::GLExtensions::shader
GLuint shader
Definition GLExtensions:214
osg::GLExtensions::value
GLsizei const GLfloat * value
Definition GLExtensions:256
osg::GLExtensions::void
void(GL_APIENTRY *glMultiTexCoord2fv)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glGenerateMipmap)(GLenum)
osg::GLExtensions::isGlslSupported
bool isGlslSupported
Definition GLExtensions:197
osg::GLExtensions::sfactorRGB
GLenum sfactorRGB
Definition GLExtensions:426
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsSampler)(GLuint id)
osg::GLExtensions::void
void(GL_APIENTRY *glGetBufferParameteriv)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4sv)(GLuint index
osg::GLExtensions::string
GLsizei const GLchar ** string
Definition GLExtensions:246
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib3dv)(GLuint index
osg::GLExtensions::uniformName
GLuint GLsizei GLsizei GLchar * uniformName
Definition GLExtensions:351
osg::GLExtensions::void
void(GL_APIENTRY *glFramebufferTexture)(GLenum
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib1d)(GLuint index
osg::GLExtensions::border
GLint GLenum GLsizei GLsizei GLint border
Definition GLExtensions:571
osg::GLExtensions::n
GLdouble n
Definition GLExtensions:806
osg::GLExtensions::void
void(GL_APIENTRY *glUniform3uiv)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glLinkProgram)(GLuint program)
osg::GLExtensions::level
GLint level
Definition GLExtensions:384
osg::GLExtensions::v3
GLfloat GLfloat GLfloat GLfloat v3
Definition GLExtensions:251
osg::GLExtensions::isTextureCompressionRGTCSupported
bool isTextureCompressionRGTCSupported
Definition GLExtensions:531
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix4dv)(GLint location
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsOcclusionQuery)(GLuint id)
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4fv)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glMemoryBarrier)(GLbitfield barriers)
osg::GLExtensions::void
void(GL_APIENTRY *glProvokingVertex)(GLenum mode)
osg::GLExtensions::void
void(GL_APIENTRY *glViewportIndexedfv)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib1f)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glDeletePrograms)(GLsizei n
osg::GLExtensions::void
void(GL_APIENTRY *glGenTransformFeedbacks)(GLsizei n
osg::GLExtensions::isStencilWrapSupported
bool isStencilWrapSupported
Definition GLExtensions:622
osg::GLExtensions::uniformBlockBinding
GLuint GLuint uniformBlockBinding
Definition GLExtensions:355
osg::GLExtensions::void
void(GL_APIENTRY *glBindProgram)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glBeginConditionalRender)(GLuint id
osg::GLExtensions::glMapBufferRange
GLvoid *GL_APIENTRY * glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
osg::GLExtensions::void
void(GL_APIENTRY *glUniform4iv)(GLint location
osg::GLExtensions::w
GLubyte GLubyte GLubyte GLubyte w
Definition GLExtensions:289
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib3sv)(GLuint index
osg::GLExtensions::pixels
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
Definition GLExtensions:587
osg::GLExtensions::isCubeMapSupported
bool isCubeMapSupported
Definition GLExtensions:210
osg::GLExtensions::void
void(GL_APIENTRY *glTextureStorage1D)(GLuint texture
osg::GLExtensions::void
void(GL_APIENTRY *glGetSamplerParameterfv)(GLuint sampler
osg::GLExtensions::void
void(GL_APIENTRY *glSecondaryColor3fv)(const GLfloat *coord)
osg::GLExtensions::ids
GLuint * ids
Definition GLExtensions:463
osg::GLExtensions::void
void(GL_APIENTRY *glDeleteTransformFeedbacks)(GLsizei n
osg::GLExtensions::void
void(GL_APIENTRY *glGetInfoLogARB)(GLuint program
osg::GLExtensions::isGpuShader4Supported
bool isGpuShader4Supported
Definition GLExtensions:204
osg::GLExtensions::GLuint64
GLuint64(GL_APIENTRY *glGetTextureSamplerHandle)(GLuint texture
osg::GLExtensions::isBlendEquationSeparateSupported
bool isBlendEquationSeparateSupported
Definition GLExtensions:605
osg::GLExtensions::contextID
unsigned int contextID
Definition GLExtensions:193
osg::GLExtensions::orig
GLenum GLuint orig
Definition GLExtensions:569
osg::GLExtensions::fixedsamplelocations
GLsizei GLenum GLsizei GLsizei GLboolean fixedsamplelocations
Definition GLExtensions:567
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttribBinding)(GLuint attribindex
osg::GLExtensions::void
void(GL_APIENTRY *glInvalidateFramebuffer)(GLenum
osg::GLExtensions::preferGenerateMipmapSGISForPowerOfTwo
bool preferGenerateMipmapSGISForPowerOfTwo
Definition GLExtensions:537
osg::GLExtensions::void
void(GL_APIENTRY *glUniform1i64)(GLint location
osg::GLExtensions::backfunc
GLenum backfunc
Definition GLExtensions:631
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix4x3dv)(GLint location
osg::GLExtensions::pointer
GLenum GLvoid ** pointer
Definition GLExtensions:242
osg::GLExtensions::GLuint
GLuint(GL_APIENTRY *glGetHandleARB)(GLenum pname)
osg::GLExtensions::instancecount
GLuint GLsizei instancecount
Definition GLExtensions:745
osg::GLExtensions::void
void(GL_APIENTRY *glGenQueries)(GLsizei n
osg::GLExtensions::isInvalidateFramebufferSupported
bool isInvalidateFramebufferSupported
Definition GLExtensions:669
osg::GLExtensions::isTexStorage2DSupported
bool isTexStorage2DSupported() const
Definition GLExtensions:547
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix2x4fv)(GLint location
osg::GLExtensions::buf
GLuint buf
Definition GLExtensions:617
osg::GLExtensions::isLanguage100Supported
bool isLanguage100Supported
Definition GLExtensions:201
osg::GLExtensions::isShaderAtomicCountersSupported
bool isShaderAtomicCountersSupported
Definition GLExtensions:208
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib2dv)(GLuint index
osg::GLExtensions::func
GLenum func
Definition GLExtensions:630
osg::GLExtensions::isFragmentShaderSupported
bool isFragmentShaderSupported
Definition GLExtensions:200
osg::GLExtensions::baseinstance
GLint GLsizei GLsizei GLuint baseinstance
Definition GLExtensions:791
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4d)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glGetFramebufferParameteriv)(GLenum target
osg::GLExtensions::sampler
GLuint sampler
Definition GLExtensions:380
osg::GLExtensions::GLint
GLint(GL_APIENTRY *glGetFragDataIndex)(GLuint program
osg::GLExtensions::source
GLsizei GLsizei GLchar * source
Definition GLExtensions:235
osg::GLExtensions::void
void(GL_APIENTRY *glEndConditionalRender)(void)
osg::GLExtensions::isFragmentProgramSupported
bool isFragmentProgramSupported
Definition GLExtensions:495
osg::GLExtensions::isTextureBorderClampSupported
bool isTextureBorderClampSupported
Definition GLExtensions:535
osg::GLExtensions::isSecondaryColorSupported
bool isSecondaryColorSupported
Definition GLExtensions:430
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix3x2fv)(GLint location
osg::GLExtensions::uniformNames
GLsizei const GLchar ** uniformNames
Definition GLExtensions:349
osg::GLExtensions::void
void(GL_APIENTRY *glMakeTextureHandleResident)(GLuint64 handle)
osg::GLExtensions::glslLanguageVersion
float glslLanguageVersion
Definition GLExtensions:195
osg::GLExtensions::void
void(GL_APIENTRY *glPrimitiveRestartIndex)(GLuint index)
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib2fv)(GLuint index
osg::GLExtensions::glBufferStorage
GLvoid *GL_APIENTRY * glBufferStorage(GLenum target, GLintptr size, const GLvoid *data, GLbitfield flags)
osg::GLExtensions::isStencilTwoSidedSupported
bool isStencilTwoSidedSupported
Definition GLExtensions:623
osg::GLExtensions::depthMode
GLenum depthMode
Definition GLExtensions:315
osg::GLExtensions::isGetProgramBinarySupported
bool isGetProgramBinarySupported
Definition GLExtensions:206
osg::GLExtensions::isMultisampleFilterHintSupported
bool isMultisampleFilterHintSupported
Definition GLExtensions:649
osg::GLExtensions::void
void(GL_APIENTRY *glUniform2ui64)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glActiveStencilFace)(GLenum face)
osg::GLExtensions::isPointSpriteCoordOriginSupported
bool isPointSpriteCoordOriginSupported
Definition GLExtensions:658
osg::GLExtensions::samples
GLsizei samples
Definition GLExtensions:574
osg::GLExtensions::GLenum
GLenum
Definition GLExtensions:304
osg::GLExtensions::void
void(GL_APIENTRY *glSecondaryColor3ubv)(const GLubyte *coord)
osg::GLExtensions::first
GLint first
Definition GLExtensions:440
osg::GLExtensions::void
void(GL_APIENTRY *glGetShaderiv)(GLuint shader
osg::GLExtensions::dfactorRGB
GLenum dfactorRGB
Definition GLExtensions:423
osg::GLExtensions::location
GLint location
Definition GLExtensions:237
osg::GLExtensions::isCompressedTexImage2DSupported
bool isCompressedTexImage2DSupported() const
Definition GLExtensions:548
osg::GLExtensions::isUniformBufferObjectSupported
bool isUniformBufferObjectSupported
Definition GLExtensions:205
osg::GLExtensions::GLint
GLint(GL_APIENTRY *glGetSubroutineUniformLocation)(GLuint program
osg::GLExtensions::isTextureCompressionS3TCSupported
bool isTextureCompressionS3TCSupported
Definition GLExtensions:526
osg::GLExtensions::dfactorAlpha
GLenum GLenum GLenum dfactorAlpha
Definition GLExtensions:423
osg::GLExtensions::color
GLuint color
Definition GLExtensions:320
osg::GLExtensions::indices
GLsizei GLenum const GLvoid * indices
Definition GLExtensions:441
osg::GLExtensions::void
void(GL_APIENTRY *glUseProgram)(GLuint program)
osg::GLExtensions::void
void(GL_APIENTRY *glUniform2uiv)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glDisableVertexAttribArray)(GLuint index)
osg::GLExtensions::start
GLuint start
Definition GLExtensions:780
osg::GLExtensions::bufsize
GLenum GLuint GLsizei bufsize
Definition GLExtensions:707
osg::GLExtensions::void
void(GL_APIENTRY *glGetSamplerParameterIiv)(GLuint sampler
osg::GLExtensions::glMaxTextureCoords
GLint glMaxTextureCoords
Definition GLExtensions:822
osg::GLExtensions::void
void(GL_APIENTRY *glGetQueryObjectuiv)(GLuint id
osg::GLExtensions::usage
GLsizeiptr const GLvoid GLenum usage
Definition GLExtensions:403
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsImageHandleResident)(GLuint64 handle)
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsVertexArray)(GLuint handle)
osg::GLExtensions::normalized
GLboolean normalized
Definition GLExtensions:304
osg::GLExtensions::sfail
GLenum sfail
Definition GLExtensions:628
osg::GLExtensions::GLsync
GLsync(GL_APIENTRY *glFenceSync)(GLenum condition
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsTransformFeedback)(GLuint id)
osg::GLExtensions::modeAlpha
GLenum modeAlpha
Definition GLExtensions:611
osg::GLExtensions::max2DSize
GLint max2DSize
Definition GLExtensions:599
osg::GLExtensions::void
void(GL_APIENTRY *glGetSamplerParameteriv)(GLuint sampler
osg::GLExtensions::param
GLenum param
Definition GLExtensions:504
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsBuffer)(GLuint buffer)
osg::GLExtensions::GLbitfield
GLbitfield
Definition GLExtensions:695
osg::GLExtensions::void
void(GL_APIENTRY *glEnableVertexAttribArray)(GLuint index)
osg::GLExtensions::void
void(GL_APIENTRY *glCompileShader)(GLuint shader)
osg::GLExtensions::count
GLsizei GLsizei * count
Definition GLExtensions:227
osg::GLExtensions::void
void(GL_APIENTRY *glEndOcclusionQuery)()
osg::GLExtensions::maxTexture3DSize
GLint maxTexture3DSize
Definition GLExtensions:583
osg::GLExtensions::GLint
GLint(GL_APIENTRY *glGetFragDataLocation)(GLuint program
osg::GLExtensions::void
void(GL_APIENTRY *glGetUniformSubroutineuiv)(GLenum shadertype
osg::GLExtensions::isCompressedTexSubImage3DSupported
bool isCompressedTexSubImage3DSupported() const
Definition GLExtensions:585
osg::GLExtensions::isTextureCompressionPVRTC4BPPSupported
bool isTextureCompressionPVRTC4BPPSupported
Definition GLExtensions:528
osg::GLExtensions::isCompressedTexImage3DSupported
bool isCompressedTexImage3DSupported() const
Definition GLExtensions:584
osg::GLExtensions::void
void(GL_APIENTRY *glFogCoordPointer)(GLenum type
osg::GLExtensions::void
void(GL_APIENTRY *glGetSamplerParameterIuiv)(GLuint sampler
osg::GLExtensions::isSGIXMinMaxSupported
bool isSGIXMinMaxSupported
Definition GLExtensions:606
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib3d)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix2x3fv)(GLint location
osg::GLExtensions::renderbuffers
const GLuint * renderbuffers
Definition GLExtensions:675
osg::GLExtensions::isShaderObjectsSupported
bool isShaderObjectsSupported
Definition GLExtensions:198
osg::GLExtensions::void
void(GL_APIENTRY *glUniform3ui64v)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glMakeTextureHandleNonResident)(GLuint64 handle)
osg::GLExtensions::isVertexShaderSupported
bool isVertexShaderSupported
Definition GLExtensions:199
osg::GLExtensions::isTexture3DSupported
bool isTexture3DSupported
Definition GLExtensions:581
osg::GLExtensions::void
void(GL_APIENTRY *glGetActiveUniform)(GLuint program
osg::GLExtensions::dst
GLenum GLenum dst
Definition GLExtensions:425
osg::GLExtensions::GLuint
GLuint(GL_APIENTRY *glGetSubroutineIndex)(GLuint program
osg::GLExtensions::left
GLint left
Definition GLExtensions:803
osg::GLExtensions::void
void(GL_APIENTRY *glEndTransformFeedback)(void)
osg::GLExtensions::isVertexProgramSupported
bool isVertexProgramSupported
Definition GLExtensions:494
osg::GLExtensions::void
void(GL_APIENTRY *glUniform3iv)(GLint location
osg::GLExtensions::isARBTimerQuerySupported
bool isARBTimerQuerySupported
Definition GLExtensions:436
osg::GLExtensions::bufferMode
GLsizei const GLchar *const GLenum bufferMode
Definition GLExtensions:735
osg::GLExtensions::void
void(GL_APIENTRY *glUniform2dv)(GLint location
osg::GLExtensions::GLboolean
GLboolean(GL_APIENTRY *glIsSync)(GLsync sync)
osg::GLExtensions::isARBOcclusionQuerySupported
bool isARBOcclusionQuerySupported
Definition GLExtensions:434
osg::GLExtensions::format
GLint GLboolean GLint GLenum format
Definition GLExtensions:384
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4s)(GLuint index
osg::GLExtensions::isRectangleSupported
bool isRectangleSupported
Definition GLExtensions:209
osg::GLExtensions::isNonPowerOfTwoTextureMipMappedSupported
bool isNonPowerOfTwoTextureMipMappedSupported
Definition GLExtensions:551
osg::GLExtensions::isTextureEdgeClampSupported
bool isTextureEdgeClampSupported
Definition GLExtensions:534
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix2x3dv)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glFramebufferTexture2D)(GLenum
osg::GLExtensions::void
void(GL_APIENTRY *glMakeImageHandleResident)(GLuint64 handle)
osg::GLExtensions::stream
GLuint GLuint stream
Definition GLExtensions:744
osg::GLExtensions::getCurrentProgram
GLuint getCurrentProgram() const
osg::GLExtensions::GLuint
GLuint
Definition GLExtensions:674
osg::GLExtensions::sfactorAlpha
GLenum GLenum sfactorAlpha
Definition GLExtensions:423
osg::GLExtensions::v0
GLfloat v0
Definition GLExtensions:248
osg::GLExtensions::isTexture2DArraySupported
bool isTexture2DArraySupported
Definition GLExtensions:597
osg::GLExtensions::isPBOSupported
bool isPBOSupported
Definition GLExtensions:396
osg::GLExtensions::isPointSpriteModeSupported
bool isPointSpriteModeSupported
Definition GLExtensions:657
osg::GLExtensions::primcount
GLint GLsizei GLsizei primcount
Definition GLExtensions:440
osg::GLExtensions::isMultisampledRenderToTextureSupported
bool isMultisampledRenderToTextureSupported
Definition GLExtensions:668
osg::GLExtensions::void
void(GL_APIENTRY *glUniform1ui64)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glActiveTexture)(GLenum texture)
osg::GLExtensions::isTexture3DFast
bool isTexture3DFast
Definition GLExtensions:582
osg::GLExtensions::maxCount
GLsizei maxCount
Definition GLExtensions:227
osg::GLExtensions::void
void(GL_APIENTRY *glUniform4dv)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glUniform3ui64)(GLint location
osg::GLExtensions::internalformat
GLsizei GLenum internalformat
Definition GLExtensions:561
osg::GLExtensions::isVBOSupported
bool isVBOSupported
Definition GLExtensions:395
osg::GLExtensions::uniformIndices
GLsizei const GLchar GLuint * uniformIndices
Definition GLExtensions:349
osg::GLExtensions::void
void(GL_APIENTRY *glGetObjectParameterivARB)(GLuint program
osg::GLExtensions::buffer
GLuint buffer
Definition GLExtensions:402
osg::GLExtensions::void
void(GL_APIENTRY *glUniform4uiv)(GLint location
osg::GLExtensions::end
GLuint GLuint end
Definition GLExtensions:780
osg::GLExtensions::isTextureFilterAnisotropicSupported
bool isTextureFilterAnisotropicSupported
Definition GLExtensions:523
osg::GLExtensions::isGenerateMipMapSupported
bool isGenerateMipMapSupported
Definition GLExtensions:536
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib3f)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glBeginOcclusionQuery)(GLuint id)
osg::GLExtensions::relativeoffset
GLint GLenum GLboolean GLuint relativeoffset
Definition GLExtensions:767
osg::GLExtensions::void
void(GL_APIENTRY *glFramebufferRenderbuffer)(GLenum
osg::GLExtensions::void
void(GL_APIENTRY *glBindFramebuffer)(GLenum
osg::GLExtensions::void
void(GL_APIENTRY *glFogCoordfv)(const GLfloat *coord)
osg::GLExtensions::v
const GLdouble * v
Definition GLExtensions:269
osg::GLExtensions::isRenderbufferMultisampleSupported
bool isRenderbufferMultisampleSupported() const
Definition GLExtensions:671
osg::GLExtensions::zoffset
GLint GLint GLint GLint zoffset
Definition GLExtensions:588
osg::GLExtensions::void
void(GL_APIENTRY *glUniform3i64)(GLint location
osg::GLExtensions::mask
GLbitfield mask
Definition GLExtensions:491
osg::GLExtensions::yoffset
GLint GLint GLint yoffset
Definition GLExtensions:572
osg::GLExtensions::void
void(GL_APIENTRY *glUniform4i64)(GLint location
osg::GLExtensions::obj
GLsizei GLsizei GLuint * obj
Definition GLExtensions:227
osg::GLExtensions::isTextureMultisampleSupported
bool isTextureMultisampleSupported
Definition GLExtensions:488
osg::GLExtensions::params
GLenum GLint * params
Definition GLExtensions:229
osg::GLExtensions::x
GLdouble x
Definition GLExtensions:268
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttribLFormat)(GLuint attribindex
osg::GLExtensions::drawcount
const void GLsizei drawcount
Definition GLExtensions:725
osg::GLExtensions::void
void(GL_APIENTRY *glGetOcclusionQueryiv)(GLuint id
osg::GLExtensions::bindingindex
GLuint bindingindex
Definition GLExtensions:763
osg::GLExtensions::isClampColorSupported
bool isClampColorSupported
Definition GLExtensions:639
osg::GLExtensions::void
void(GL_APIENTRY *glBindBufferBase)(GLenum target
osg::GLExtensions::isBlendColorSupported
bool isBlendColorSupported
Definition GLExtensions:603
osg::GLExtensions::areTessellationShadersSupported
bool areTessellationShadersSupported
Definition GLExtensions:203
osg::GLExtensions::isPointSpriteSupported
bool isPointSpriteSupported
Definition GLExtensions:656
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4f)(GLuint index
osg::GLExtensions::void
void(GL_APIENTRY *glUniform2ui64v)(GLint location
osg::GLExtensions::maxTextureSize
GLint maxTextureSize
Definition GLExtensions:542
osg::GLExtensions::mode
GLenum mode
Definition GLExtensions:612
osg::GLExtensions::void
void(GL_APIENTRY *glDisablei)(GLenum capability
osg::GLExtensions::void
void(GL_APIENTRY *glUniformMatrix3x4fv)(GLint location
osg::GLExtensions::minlayer
GLenum GLuint GLenum GLuint GLuint GLuint minlayer
Definition GLExtensions:569
osg::GLExtensions::void
void(GL_APIENTRY *glTextureStorage3D)(GLuint texture
osg::GLExtensions::minlevel
GLenum GLuint GLenum GLuint minlevel
Definition GLExtensions:569
osg::GLExtensions::attribindex
GLuint attribindex
Definition GLExtensions:765
osg::GLExtensions::void
void(GL_APIENTRY *glUniform2i64)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glSamplerParameterIiv)(GLuint sampler
osg::GLExtensions::void
void(GL_APIENTRY *glRenderbufferStorageMultisampleCoverageNV)(GLenum
osg::GLExtensions::debugObjectLabel
void debugObjectLabel(GLenum identifier, GLuint name, const std::string &label) const
Definition GLExtensions:829
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4bv)(GLuint index
osg::GLExtensions::GLuint64
GLuint64(GL_APIENTRY *glGetTextureHandle)(GLuint texture)
osg::GLExtensions::void
void(GL_APIENTRY *glUniform3i64v)(GLint location
osg::GLExtensions::void
void(GL_APIENTRY *glDeleteShader)(GLuint shader)
osg::GLExtensions::void
void(GL_APIENTRY *glDrawTransformFeedback)(GLenum mode
osg::GLExtensions::isNonPowerOfTwoTextureSupported
bool isNonPowerOfTwoTextureSupported(GLenum filter) const
Definition GLExtensions:553
osg::GLExtensions::isMultiTexSupported
bool isMultiTexSupported
Definition GLExtensions:432
osg::GLExtensions::void
void(GL_APIENTRY *glFramebufferTextureLayer)(GLenum
osg::GLExtensions::void
void(GL_APIENTRY *glBindVertexArray)(GLuint handle)
osg::GLExtensions::name
GLuint const GLchar * name
Definition GLExtensions:215
osg::GLExtensions::void
void(GL_APIENTRY *glGetActiveSubroutineName)(GLuint program
osg::GLExtensions::void
void(GL_APIENTRY *glGenRenderbuffers)(GLsizei
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttribLPointer)(unsigned int
osg::GLExtensions::indirect
const void * indirect
Definition GLExtensions:724
osg::GLExtensions::void
void(GL_APIENTRY *glDeleteProgram)(GLuint program)
osg::GLExtensions::void
void(GL_APIENTRY *glEndQueryIndexed)(GLenum target
osg::GLExtensions::void
void(GL_APIENTRY *glVertexAttrib4dv)(GLuint index
osg::Referenced
Definition Referenced:44
osg::VertexAttribAlias::VertexAttribAlias
VertexAttribAlias(const VertexAttribAlias &rhs)
Definition GLExtensions:140
osg::VertexAttribAlias::_declaration
std::string _declaration
Definition GLExtensions:164
osg::VertexAttribAlias::operator=
VertexAttribAlias & operator=(const VertexAttribAlias &o)
Definition GLExtensions:152
osg::VertexAttribAlias::VertexAttribAlias
VertexAttribAlias(GLuint location, const std::string glName, const std::string osgName, const std::string &declaration)
Definition GLExtensions:146
osg::VertexAttribAlias::_glName
std::string _glName
Definition GLExtensions:162
osg::VertexAttribAlias::_osgName
std::string _osgName
Definition GLExtensions:163
osg::VertexAttribAlias::VertexAttribAlias
VertexAttribAlias()
Definition GLExtensions:137
osg::VertexAttribAlias::_location
GLuint _location
Definition GLExtensions:161
osg
Definition AlphaFunc:19
osg::setGLExtensionDisableString
OSG_EXPORT void setGLExtensionDisableString(const std::string &disableString)
osg::GLintptr
ptrdiff_t GLintptr
Definition GLDefines:692
osg::convertPointerType
T convertPointerType(R src)
Definition GLExtensions:109
osg::isGLExtensionOrVersionSupported
OSG_EXPORT bool isGLExtensionOrVersionSupported(unsigned int contextID, const char *extension, float requiredGlVersion)
osg::getGLVersionNumber
OSG_EXPORT float getGLVersionNumber()
osg::GLsizeiptr
ptrdiff_t GLsizeiptr
Definition GLDefines:691
osg::isGLExtensionSupported
OSG_EXPORT bool isGLExtensionSupported(unsigned int contextID, const char *extension)
osg::convertPointer
bool convertPointer(T &dest, R src)
Definition GLExtensions:102
osg::isExtensionInExtensionString
OSG_EXPORT bool isExtensionInExtensionString(const char *extension, const char *extensionString)
osg::setGLExtensionFuncPtr
bool setGLExtensionFuncPtr(T &t, const char *str1, bool validContext=true)
Definition GLExtensions:117
osg::getGLExtensionFuncPtr
OSG_EXPORT void * getGLExtensionFuncPtr(const char *funcName)
osg::getGLExtensionDisableString
OSG_EXPORT std::string & getGLExtensionDisableString()
Export
OSG_EXPORT
#define OSG_EXPORT
Definition osg/Export:39