## class OSGGL2_EXPORT osgGL2::Extensions

> Extensions class which encapsulates the querying of extensions and associated function pointers, and provide convenience wrappers to check for the extensions or use the associated functions

## Inheritance:

### Public Methods

Extensions()
Extensions(const Extensions& rhs)
void lowestCommonDenominator(const Extensions& rhs)
void setupGLExtensions()
void setShaderObjectsSupported(bool flag)
bool isShaderObjectsSupported() const
void setVertexShaderSupported(bool flag)
bool isVertexShaderSupported() const
void setFragmentShaderSupported(bool flag)
bool isFragmentShaderSupported() const
static Extensions* Get(unsigned int contextID, bool createIfNotInitalized)
  Function to call to get the extension of a specified context.
static void Set(unsigned int contextID, Extensions* extensions)
  allows users to override the extensions across graphics contexts.
GLhandleARB glCreateShaderObject(GLenum shaderType) const
GLhandleARB glCreateProgramObject() const
void glDeleteObject(GLhandleARB obj) const
void glAttachObject(GLhandleARB containerObj, GLhandleARB obj) const
void glDetachObject(GLhandleARB containerObj, GLhandleARB attachedObj) const
void glShaderSource(GLhandleARB shaderObj, GLsizei count, const GLcharARB** strings, const GLint* length) const
void glCompileShader(GLhandleARB shaderObj) const
void glBindAttribLocation(GLhandleARB programObj, GLuint index, const GLcharARB* name) const
void glLinkProgram(GLhandleARB programObj) const
void glUseProgramObject(GLhandleARB programObj) const
void glGetInfoLog(GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* infoLog) const
void glGetAttachedObjects(GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB* obj) const
void glGetShaderSource(GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* source) const
void glUniform1f(GLint location, GLfloat v0) const
void glUniform2f(GLint location, GLfloat v0, GLfloat v1) const
void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) const
void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) const
void glUniform1i(GLint location, GLint v0) const
void glUniform2i(GLint location, GLint v0, GLint v1) const
void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) const
void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) const
void glUniform1fv(GLint location, GLsizei count, GLfloat* value) const
void glUniform2fv(GLint location, GLsizei count, GLfloat* value) const
void glUniform3fv(GLint location, GLsizei count, GLfloat* value) const
void glUniform4fv(GLint location, GLsizei count, GLfloat* value) const
void glUniform1iv(GLint location, GLsizei count, GLint* value) const
void glUniform2iv(GLint location, GLsizei count, GLint* value) const
void glUniform3iv(GLint location, GLsizei count, GLint* value) const
void glUniform4iv(GLint location, GLsizei count, GLint* value) const
void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, GLfloat* value) const
void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, GLfloat* value) const
void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, GLfloat* value) const
GLint glGetUniformLocation(GLhandleARB programObject, const GLcharARB* name) const
GLint glGetAttribLocation(GLhandleARB programObj, const GLcharARB* name) const
void glGetActiveUniform(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLint* type, GLcharARB* name) const
void glGetActiveAttribs(GLhandleARB programObj, GLint* count, const GLint** size, const GLenum** type, const GLcharARB* const** attributes) const
void glGetUniformfv(GLhandleARB programObj, GLint location, GLfloat* params) const
void glGetUniformiv(GLhandleARB programObj, GLint location, GLint* params) const
void glGetObjectParameterfv(GLhandleARB obj, GLenum pname, GLfloat* params) const
void glGetObjectParameteriv(GLhandleARB obj, GLenum pname, GLint* params) const
GLhandleARB glGetHandle(GLenum pname) const

### Protected Fields

bool _isShaderObjectsSupported
bool _isVertexShaderSupported
bool _isFragmentShaderSupported
void* _glCreateShaderObject
void* _glCreateProgramObject
void* _glDeleteObject
void* _glAttachObject
void* _glDetachObject
void* _glShaderSource
void* _glCompileShader
void* _glBindAttribLocation
void* _glLinkProgram
void* _glUseProgramObject
void* _glGetInfoLog
void* _glGetAttachedObjects
void* _glGetShaderSource
void* _glUniform1f
void* _glUniform2f
void* _glUniform3f
void* _glUniform4f
void* _glUniform1i
void* _glUniform2i
void* _glUniform3i
void* _glUniform4i
void* _glUniform1fv
void* _glUniform2fv
void* _glUniform3fv
void* _glUniform4fv
void* _glUniform1iv
void* _glUniform2iv
void* _glUniform3iv
void* _glUniform4iv
void* _glUniformMatrix2fv
void* _glUniformMatrix3fv
void* _glUniformMatrix4fv
void* _glGetUniformLocation
void* _glGetAttribLocation
void* _glGetActiveUniform
void* _glGetActiveAttribs
void* _glGetUniformfv
void* _glGetUniformiv
void* _glGetObjectParameterfv
void* _glGetObjectParameteriv
void* _glGetHandle

### Protected Methods

~Extensions()

## Documentation

> Extensions class which encapsulates the querying of extensions and associated function pointers, and provide convenience wrappers to check for the extensions or use the associated functions

`Extensions()`

`Extensions(const Extensions& rhs)`

`void lowestCommonDenominator(const Extensions& rhs)`

`void setupGLExtensions()`

`void setShaderObjectsSupported(bool flag)`

`bool isShaderObjectsSupported() const`

`void setVertexShaderSupported(bool flag)`

`bool isVertexShaderSupported() const`

`void setFragmentShaderSupported(bool flag)`

`bool isFragmentShaderSupported() const`

`static Extensions* Get(unsigned int contextID, bool createIfNotInitalized)`
  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..

`static void Set(unsigned int contextID, Extensions* extensions)`
  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.

`GLhandleARB glCreateShaderObject(GLenum shaderType) const`

`GLhandleARB glCreateProgramObject() const`

`void glDeleteObject(GLhandleARB obj) const`

`void glAttachObject(GLhandleARB containerObj, GLhandleARB obj) const`

`void glDetachObject(GLhandleARB containerObj, GLhandleARB attachedObj) const`

`void glShaderSource(GLhandleARB shaderObj, GLsizei count, const GLcharARB** strings, const GLint* length) const`

`void glCompileShader(GLhandleARB shaderObj) const`

`void glBindAttribLocation(GLhandleARB programObj, GLuint index, const GLcharARB* name) const`

`void glLinkProgram(GLhandleARB programObj) const`

`void glUseProgramObject(GLhandleARB programObj) const`

`void glGetInfoLog(GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* infoLog) const`

`void glGetAttachedObjects(GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB* obj) const`

`void glGetShaderSource(GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* source) const`

`void glUniform1f(GLint location, GLfloat v0) const`

`void glUniform2f(GLint location, GLfloat v0, GLfloat v1) const`

`void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) const`

`void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) const`

`void glUniform1i(GLint location, GLint v0) const`

`void glUniform2i(GLint location, GLint v0, GLint v1) const`

`void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) const`

`void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) const`

`void glUniform1fv(GLint location, GLsizei count, GLfloat* value) const`

`void glUniform2fv(GLint location, GLsizei count, GLfloat* value) const`

`void glUniform3fv(GLint location, GLsizei count, GLfloat* value) const`

`void glUniform4fv(GLint location, GLsizei count, GLfloat* value) const`

`void glUniform1iv(GLint location, GLsizei count, GLint* value) const`

`void glUniform2iv(GLint location, GLsizei count, GLint* value) const`

`void glUniform3iv(GLint location, GLsizei count, GLint* value) const`

`void glUniform4iv(GLint location, GLsizei count, GLint* value) const`

`void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, GLfloat* value) const`

`void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, GLfloat* value) const`

`void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, GLfloat* value) const`

`GLint glGetUniformLocation(GLhandleARB programObject, const GLcharARB* name) const`

`GLint glGetAttribLocation(GLhandleARB programObj, const GLcharARB* name) const`

`void glGetActiveUniform(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLint* type, GLcharARB* name) const`

`void glGetActiveAttribs(GLhandleARB programObj, GLint* count, const GLint** size, const GLenum** type, const GLcharARB* const** attributes) const`

`void glGetUniformfv(GLhandleARB programObj, GLint location, GLfloat* params) const`

`void glGetUniformiv(GLhandleARB programObj, GLint location, GLint* params) const`

`void glGetObjectParameterfv(GLhandleARB obj, GLenum pname, GLfloat* params) const`

`void glGetObjectParameteriv(GLhandleARB obj, GLenum pname, GLint* params) const`

`GLhandleARB glGetHandle(GLenum pname) const`

`~Extensions()`

`bool _isShaderObjectsSupported`

`bool _isVertexShaderSupported`

`bool _isFragmentShaderSupported`

`void* _glCreateShaderObject`

`void* _glCreateProgramObject`

`void* _glDeleteObject`

`void* _glAttachObject`

`void* _glDetachObject`

`void* _glShaderSource`

`void* _glCompileShader`

`void* _glBindAttribLocation`

`void* _glLinkProgram`

`void* _glUseProgramObject`

`void* _glGetInfoLog`

`void* _glGetAttachedObjects`

`void* _glGetShaderSource`

`void* _glUniform1f`

`void* _glUniform2f`

`void* _glUniform3f`

`void* _glUniform4f`

`void* _glUniform1i`

`void* _glUniform2i`

`void* _glUniform3i`

`void* _glUniform4i`

`void* _glUniform1fv`

`void* _glUniform2fv`

`void* _glUniform3fv`

`void* _glUniform4fv`

`void* _glUniform1iv`

`void* _glUniform2iv`

`void* _glUniform3iv`

`void* _glUniform4iv`

`void* _glUniformMatrix2fv`

`void* _glUniformMatrix3fv`

`void* _glUniformMatrix4fv`

`void* _glGetUniformLocation`

`void* _glGetAttribLocation`

`void* _glGetActiveUniform`

`void* _glGetActiveAttribs`

`void* _glGetUniformfv`

`void* _glGetUniformiv`

`void* _glGetObjectParameterfv`

`void* _glGetObjectParameteriv`

`void* _glGetHandle`

This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java

This page was generated with the help of DOC++.