# GLExtensions File Reference

`#include <osg/Export>`
`#include <string>`
`#include <dlfcn.h>`

Include dependency graph for GLExtensions:

This graph shows which files directly or indirectly include this file:

## Namespaces

namespace | osg

## Defines

#define | OSG_GLEXTENSIONS 1

## Functions

SG_EXPORT bool | isGLExtensionSupported (const char *extension)
| Return true if OpenGL "extension" is supported.
void * | getGLExtensionFuncPtr (const char *funcName)
| Return the address of the specified OpenGL function.
SG_EXPORT void | setGLExtensionDisableString (const std::string &disableString)
| Set a list of extensions to disable for different OpenGL renderers.
SG_EXPORT std::string & | getGLExtensionDisableString ()
| Get the list of extensions that are disabled for various OpenGL renderers.
void * | getGLExtensionFuncPtr (const char *funcName, const char *fallbackFuncName)
| Return the address of the specified OpenGL function.
SG_EXPORT bool | isGLUExtensionSupported (const char *extension)
| Return true if OpenGL "extension" is supported.

## Define Documentation

#define OSG_GLEXTENSIONS 1

## Function Documentation

std::string & osg::getGLExtensionDisableString | ( |  | ) |

| Get the list of extensions that are disabled for various OpenGL renderers.

void* getGLExtensionFuncPtr | ( | const char * | funcName,
|  | const char * | fallbackFuncName
| ) | `[inline]`

| Return the address of the specified OpenGL function. If not found then check a second function name, if this fails then return NULL as function is not supported by OpenGL library. This is used for checking something like glActiveTexture (which is in OGL1.3) or glActiveTextureARB.

void* getGLExtensionFuncPtr | ( | const char * | funcName | ) | `[inline]`

| Return the address of the specified OpenGL function. Return NULL if function not supported by OpenGL library. Note, glGLExtensionFuncPtr is declared inline so that the code is compiled locally to the calling code. This should get by Windows' dumb implementation of having different GL function ptr's for each library when linked to it.

bool osg::isGLExtensionSupported | ( | const char * | extension | ) |

| Return true if OpenGL "extension" is supported. Note: Must only be called within a valid OpenGL context, undefined behavior may occur otherwise.

bool osg::isGLUExtensionSupported | ( | const char * | extension | ) |

| Return true if OpenGL "extension" is supported. Note: Must only be called within a valid OpenGL context, undefined behavior may occur otherwise.

void osg::setGLExtensionDisableString | ( | const std::string & | disableString | ) |

Set a list of extensions to disable for different OpenGL renderers.

This allows OSG applications to work around OpenGL drivers' bugs which are due to problematic extension support. The format of the string is: "GLRendererString : ExtensionName, ExtensionName; GLRenderString2 : ExtensionName;" An example of is : "SUN_XVR1000:GL_EXT_texture_filter_anisotropic" The default setting of GLExtensionDisableString is obtained from the OSG_GL_EXTENSION_DISABLE environmental variable.