/* File generated by extgen.cpp -- do not modify */
#ifndef GLH_GENEXT_H
#define GLH_GENEXT_H

#ifdef __cplusplus
extern "C" {
#endif

#include <GL/gl.h>
#include <GL/glext.h>
#if defined(WIN32)
#  include <GL/wglext.h>
#  define GLH_EXT_GET_PROC_ADDRESS(p)   wglGetProcAddress(p) 
#elif defined(UNIX)
#  include <string.h>
#  include <GL/glx.h>
#  include <GL/glxext.h>
#  define GLH_EXT_GET_PROC_ADDRESS(p)   glXGetProcAddressARB( (const GLubyte *) p) 
#endif

#ifdef GLH_EXT_SINGLE_FILE
# define GLH_EXTERN
# define GLH_INITIALIZER = 0
#else
# define GLH_EXTERN extern
# define GLH_INITIALIZER
#endif

#define GLH__PREPROCESSOR_GYMNASTICS2(a,b) a##b
#define GLH__PREPROCESSOR_GYMNASTICS(a,b) GLH__PREPROCESSOR_GYMNASTICS2(a,b)

#ifndef _WIN32
#define GLH_EXT_PREFIX _
#endif
#ifndef GLH_EXT_PREFIX
# define GLH_EXT_NAME(a) a
#else
# define GLH_EXT_NAME(a) GLH__PREPROCESSOR_GYMNASTICS(GLH_EXT_PREFIX,a)
#endif

#ifndef _WIN32
# ifndef GLH_CORE_PREFIX
#  define GLH_CORE_PREFIX _
# endif
#endif

#ifndef GLH_CORE_PREFIX
# define GLH_CORE_NAME(a) a
#else
# define GLH_CORE_NAME(a) GLH__PREPROCESSOR_GYMNASTICS(GLH_CORE_PREFIX,a)
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_2) || defined(GL_VERSION_1_3) || defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
    /* These routines are prefixed by the preprocessor constant
       GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
    GLH_EXTERN PFNGLBLENDCOLORPROC GLH_CORE_NAME(glBlendColor) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBLENDEQUATIONPROC GLH_CORE_NAME(glBlendEquation) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDRAWRANGEELEMENTSPROC GLH_CORE_NAME(glDrawRangeElements) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXIMAGE3DPROC GLH_CORE_NAME(glTexImage3D) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXSUBIMAGE3DPROC GLH_CORE_NAME(glTexSubImage3D) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOPYTEXSUBIMAGE3DPROC GLH_CORE_NAME(glCopyTexSubImage3D) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1DPROC GLH_CORE_NAME(glMultiTexCoord1d) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1DVPROC GLH_CORE_NAME(glMultiTexCoord1dv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1FPROC GLH_CORE_NAME(glMultiTexCoord1f) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1FVPROC GLH_CORE_NAME(glMultiTexCoord1fv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1IPROC GLH_CORE_NAME(glMultiTexCoord1i) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1IVPROC GLH_CORE_NAME(glMultiTexCoord1iv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1SPROC GLH_CORE_NAME(glMultiTexCoord1s) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1SVPROC GLH_CORE_NAME(glMultiTexCoord1sv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2DPROC GLH_CORE_NAME(glMultiTexCoord2d) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2DVPROC GLH_CORE_NAME(glMultiTexCoord2dv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2FPROC GLH_CORE_NAME(glMultiTexCoord2f) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2FVPROC GLH_CORE_NAME(glMultiTexCoord2fv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2IPROC GLH_CORE_NAME(glMultiTexCoord2i) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2IVPROC GLH_CORE_NAME(glMultiTexCoord2iv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2SPROC GLH_CORE_NAME(glMultiTexCoord2s) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2SVPROC GLH_CORE_NAME(glMultiTexCoord2sv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3DPROC GLH_CORE_NAME(glMultiTexCoord3d) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3DVPROC GLH_CORE_NAME(glMultiTexCoord3dv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3FPROC GLH_CORE_NAME(glMultiTexCoord3f) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3FVPROC GLH_CORE_NAME(glMultiTexCoord3fv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3IPROC GLH_CORE_NAME(glMultiTexCoord3i) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3IVPROC GLH_CORE_NAME(glMultiTexCoord3iv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3SPROC GLH_CORE_NAME(glMultiTexCoord3s) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3SVPROC GLH_CORE_NAME(glMultiTexCoord3sv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4DPROC GLH_CORE_NAME(glMultiTexCoord4d) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4DVPROC GLH_CORE_NAME(glMultiTexCoord4dv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4FPROC GLH_CORE_NAME(glMultiTexCoord4f) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4FVPROC GLH_CORE_NAME(glMultiTexCoord4fv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4IPROC GLH_CORE_NAME(glMultiTexCoord4i) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4IVPROC GLH_CORE_NAME(glMultiTexCoord4iv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4SPROC GLH_CORE_NAME(glMultiTexCoord4s) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4SVPROC GLH_CORE_NAME(glMultiTexCoord4sv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLACTIVETEXTUREPROC GLH_CORE_NAME(glActiveTexture) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCLIENTACTIVETEXTUREPROC GLH_CORE_NAME(glClientActiveTexture) GLH_INITIALIZER;
#endif
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_3) || defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
    /* These routines are prefixed by the preprocessor constant
       GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
    GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE3DPROC GLH_CORE_NAME(glCompressedTexImage3D) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE2DPROC GLH_CORE_NAME(glCompressedTexImage2D) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE1DPROC GLH_CORE_NAME(glCompressedTexImage1D) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC GLH_CORE_NAME(glCompressedTexSubImage3D) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC GLH_CORE_NAME(glCompressedTexSubImage2D) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC GLH_CORE_NAME(glCompressedTexSubImage1D) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOMPRESSEDTEXIMAGEPROC GLH_CORE_NAME(glGetCompressedTexImage) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSAMPLECOVERAGEPROC GLH_CORE_NAME(glSampleCoverage) GLH_INITIALIZER;
    GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXFPROC GLH_CORE_NAME(glLoadTransposeMatrixf) GLH_INITIALIZER;
    GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXDPROC GLH_CORE_NAME(glLoadTransposeMatrixd) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXFPROC GLH_CORE_NAME(glMultTransposeMatrixf) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXDPROC GLH_CORE_NAME(glMultTransposeMatrixd) GLH_INITIALIZER;
#endif
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
    /* These routines are prefixed by the preprocessor constant
       GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
    GLH_EXTERN PFNGLMULTIDRAWARRAYSPROC GLH_CORE_NAME(glMultiDrawArrays) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTIDRAWELEMENTSPROC GLH_CORE_NAME(glMultiDrawElements) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPOINTPARAMETERFPROC GLH_CORE_NAME(glPointParameterf) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPOINTPARAMETERFVPROC GLH_CORE_NAME(glPointParameterfv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3BPROC GLH_CORE_NAME(glSecondaryColor3b) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3BVPROC GLH_CORE_NAME(glSecondaryColor3bv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3DPROC GLH_CORE_NAME(glSecondaryColor3d) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3DVPROC GLH_CORE_NAME(glSecondaryColor3dv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3FPROC GLH_CORE_NAME(glSecondaryColor3f) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3FVPROC GLH_CORE_NAME(glSecondaryColor3fv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3IPROC GLH_CORE_NAME(glSecondaryColor3i) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3IVPROC GLH_CORE_NAME(glSecondaryColor3iv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3SPROC GLH_CORE_NAME(glSecondaryColor3s) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3SVPROC GLH_CORE_NAME(glSecondaryColor3sv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3UBPROC GLH_CORE_NAME(glSecondaryColor3ub) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3UBVPROC GLH_CORE_NAME(glSecondaryColor3ubv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3UIPROC GLH_CORE_NAME(glSecondaryColor3ui) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3UIVPROC GLH_CORE_NAME(glSecondaryColor3uiv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3USPROC GLH_CORE_NAME(glSecondaryColor3us) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3USVPROC GLH_CORE_NAME(glSecondaryColor3usv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLORPOINTERPROC GLH_CORE_NAME(glSecondaryColorPointer) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBLENDFUNCSEPARATEPROC GLH_CORE_NAME(glBlendFuncSeparate) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2DPROC GLH_CORE_NAME(glWindowPos2d) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2FPROC GLH_CORE_NAME(glWindowPos2f) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2IPROC GLH_CORE_NAME(glWindowPos2i) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2SPROC GLH_CORE_NAME(glWindowPos2s) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2DVPROC GLH_CORE_NAME(glWindowPos2dv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2FVPROC GLH_CORE_NAME(glWindowPos2fv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2IVPROC GLH_CORE_NAME(glWindowPos2iv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2SVPROC GLH_CORE_NAME(glWindowPos2sv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3DPROC GLH_CORE_NAME(glWindowPos3d) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3FPROC GLH_CORE_NAME(glWindowPos3f) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3IPROC GLH_CORE_NAME(glWindowPos3i) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3SPROC GLH_CORE_NAME(glWindowPos3s) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3DVPROC GLH_CORE_NAME(glWindowPos3dv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3FVPROC GLH_CORE_NAME(glWindowPos3fv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3IVPROC GLH_CORE_NAME(glWindowPos3iv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3SVPROC GLH_CORE_NAME(glWindowPos3sv) GLH_INITIALIZER;
#endif
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_5)
    /* These routines are prefixed by the preprocessor constant
       GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
    GLH_EXTERN PFNGLGENQUERIESPROC GLH_CORE_NAME(glGenQueries) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETEQUERIESPROC GLH_CORE_NAME(glDeleteQueries) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISQUERYPROC GLH_CORE_NAME(glIsQuery) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBEGINQUERYPROC GLH_CORE_NAME(glBeginQuery) GLH_INITIALIZER;
    GLH_EXTERN PFNGLENDQUERYPROC GLH_CORE_NAME(glEndQuery) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETQUERYIVPROC GLH_CORE_NAME(glGetQueryiv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETQUERYOBJECTIVPROC GLH_CORE_NAME(glGetQueryObjectiv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETQUERYOBJECTUIVPROC GLH_CORE_NAME(glGetQueryObjectuiv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBINDBUFFERPROC GLH_CORE_NAME(glBindBuffer) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETEBUFFERSPROC GLH_CORE_NAME(glDeleteBuffers) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGENBUFFERSPROC GLH_CORE_NAME(glGenBuffers) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISBUFFERPROC GLH_CORE_NAME(glIsBuffer) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBUFFERDATAPROC GLH_CORE_NAME(glBufferData) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBUFFERSUBDATAPROC GLH_CORE_NAME(glBufferSubData) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETBUFFERSUBDATAPROC GLH_CORE_NAME(glGetBufferSubData) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMAPBUFFERPROC GLH_CORE_NAME(glMapBuffer) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNMAPBUFFERPROC GLH_CORE_NAME(glUnmapBuffer) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETBUFFERPARAMETERIVPROC GLH_CORE_NAME(glGetBufferParameteriv) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETBUFFERPOINTERVPROC GLH_CORE_NAME(glGetBufferPointerv) GLH_INITIALIZER;
#endif
#endif

#ifdef GL_ARB_depth_texture
#endif

#ifdef GL_ARB_fragment_program
#endif

#ifdef GL_ARB_fragment_program_shadow
#endif

#ifdef GL_ARB_fragment_shader
#endif

#ifdef GL_ARB_matrix_palette
#endif

#ifdef GL_ARB_multisample
#endif

#ifdef GL_ARB_multitexture
    GLH_EXTERN PFNGLMULTITEXCOORD1DARBPROC GLH_EXT_NAME(glMultiTexCoord1dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1DVARBPROC GLH_EXT_NAME(glMultiTexCoord1dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1FARBPROC GLH_EXT_NAME(glMultiTexCoord1fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1FVARBPROC GLH_EXT_NAME(glMultiTexCoord1fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1IARBPROC GLH_EXT_NAME(glMultiTexCoord1iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1IVARBPROC GLH_EXT_NAME(glMultiTexCoord1ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1SARBPROC GLH_EXT_NAME(glMultiTexCoord1sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1SVARBPROC GLH_EXT_NAME(glMultiTexCoord1svARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2DARBPROC GLH_EXT_NAME(glMultiTexCoord2dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2DVARBPROC GLH_EXT_NAME(glMultiTexCoord2dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2FARBPROC GLH_EXT_NAME(glMultiTexCoord2fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2FVARBPROC GLH_EXT_NAME(glMultiTexCoord2fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2IARBPROC GLH_EXT_NAME(glMultiTexCoord2iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2IVARBPROC GLH_EXT_NAME(glMultiTexCoord2ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2SARBPROC GLH_EXT_NAME(glMultiTexCoord2sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2SVARBPROC GLH_EXT_NAME(glMultiTexCoord2svARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3DARBPROC GLH_EXT_NAME(glMultiTexCoord3dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3DVARBPROC GLH_EXT_NAME(glMultiTexCoord3dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3FARBPROC GLH_EXT_NAME(glMultiTexCoord3fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3FVARBPROC GLH_EXT_NAME(glMultiTexCoord3fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3IARBPROC GLH_EXT_NAME(glMultiTexCoord3iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3IVARBPROC GLH_EXT_NAME(glMultiTexCoord3ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3SARBPROC GLH_EXT_NAME(glMultiTexCoord3sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3SVARBPROC GLH_EXT_NAME(glMultiTexCoord3svARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4DARBPROC GLH_EXT_NAME(glMultiTexCoord4dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4DVARBPROC GLH_EXT_NAME(glMultiTexCoord4dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4FARBPROC GLH_EXT_NAME(glMultiTexCoord4fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4FVARBPROC GLH_EXT_NAME(glMultiTexCoord4fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4IARBPROC GLH_EXT_NAME(glMultiTexCoord4iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4IVARBPROC GLH_EXT_NAME(glMultiTexCoord4ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4SARBPROC GLH_EXT_NAME(glMultiTexCoord4sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4SVARBPROC GLH_EXT_NAME(glMultiTexCoord4svARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLACTIVETEXTUREARBPROC GLH_EXT_NAME(glActiveTextureARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCLIENTACTIVETEXTUREARBPROC GLH_EXT_NAME(glClientActiveTextureARB) GLH_INITIALIZER;
#endif

#ifdef GL_ARB_occlusion_query
    GLH_EXTERN PFNGLGENQUERIESARBPROC GLH_EXT_NAME(glGenQueriesARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETEQUERIESARBPROC GLH_EXT_NAME(glDeleteQueriesARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISQUERYARBPROC GLH_EXT_NAME(glIsQueryARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBEGINQUERYARBPROC GLH_EXT_NAME(glBeginQueryARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLENDQUERYARBPROC GLH_EXT_NAME(glEndQueryARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETQUERYIVARBPROC GLH_EXT_NAME(glGetQueryivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETQUERYOBJECTIVARBPROC GLH_EXT_NAME(glGetQueryObjectivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETQUERYOBJECTUIVARBPROC GLH_EXT_NAME(glGetQueryObjectuivARB) GLH_INITIALIZER;
#endif

#ifdef GL_ARB_point_parameters
    GLH_EXTERN PFNGLPOINTPARAMETERFARBPROC GLH_EXT_NAME(glPointParameterfARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPOINTPARAMETERFVARBPROC GLH_EXT_NAME(glPointParameterfvARB) GLH_INITIALIZER;
#endif

#ifdef GL_ARB_point_sprite
#endif

#ifdef GL_ARB_shader_objects
    GLH_EXTERN PFNGLDELETEOBJECTARBPROC GLH_EXT_NAME(glDeleteObjectARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETHANDLEARBPROC GLH_EXT_NAME(glGetHandleARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDETACHOBJECTARBPROC GLH_EXT_NAME(glDetachObjectARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCREATESHADEROBJECTARBPROC GLH_EXT_NAME(glCreateShaderObjectARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSHADERSOURCEARBPROC GLH_EXT_NAME(glShaderSourceARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPILESHADERARBPROC GLH_EXT_NAME(glCompileShaderARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCREATEPROGRAMOBJECTARBPROC GLH_EXT_NAME(glCreateProgramObjectARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLATTACHOBJECTARBPROC GLH_EXT_NAME(glAttachObjectARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLLINKPROGRAMARBPROC GLH_EXT_NAME(glLinkProgramARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUSEPROGRAMOBJECTARBPROC GLH_EXT_NAME(glUseProgramObjectARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVALIDATEPROGRAMARBPROC GLH_EXT_NAME(glValidateProgramARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM1FARBPROC GLH_EXT_NAME(glUniform1fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM2FARBPROC GLH_EXT_NAME(glUniform2fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM3FARBPROC GLH_EXT_NAME(glUniform3fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM4FARBPROC GLH_EXT_NAME(glUniform4fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM1IARBPROC GLH_EXT_NAME(glUniform1iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM2IARBPROC GLH_EXT_NAME(glUniform2iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM3IARBPROC GLH_EXT_NAME(glUniform3iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM4IARBPROC GLH_EXT_NAME(glUniform4iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM1FVARBPROC GLH_EXT_NAME(glUniform1fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM2FVARBPROC GLH_EXT_NAME(glUniform2fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM3FVARBPROC GLH_EXT_NAME(glUniform3fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM4FVARBPROC GLH_EXT_NAME(glUniform4fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM1IVARBPROC GLH_EXT_NAME(glUniform1ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM2IVARBPROC GLH_EXT_NAME(glUniform2ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM3IVARBPROC GLH_EXT_NAME(glUniform3ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORM4IVARBPROC GLH_EXT_NAME(glUniform4ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORMMATRIX2FVARBPROC GLH_EXT_NAME(glUniformMatrix2fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORMMATRIX3FVARBPROC GLH_EXT_NAME(glUniformMatrix3fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNIFORMMATRIX4FVARBPROC GLH_EXT_NAME(glUniformMatrix4fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETOBJECTPARAMETERFVARBPROC GLH_EXT_NAME(glGetObjectParameterfvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETOBJECTPARAMETERIVARBPROC GLH_EXT_NAME(glGetObjectParameterivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETINFOLOGARBPROC GLH_EXT_NAME(glGetInfoLogARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETATTACHEDOBJECTSARBPROC GLH_EXT_NAME(glGetAttachedObjectsARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETUNIFORMLOCATIONARBPROC GLH_EXT_NAME(glGetUniformLocationARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETACTIVEUNIFORMARBPROC GLH_EXT_NAME(glGetActiveUniformARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETUNIFORMFVARBPROC GLH_EXT_NAME(glGetUniformfvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETUNIFORMIVARBPROC GLH_EXT_NAME(glGetUniformivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETSHADERSOURCEARBPROC GLH_EXT_NAME(glGetShaderSourceARB) GLH_INITIALIZER;
#endif

#ifdef GL_ARB_shadow
#endif

#ifdef GL_ARB_shadow_ambient
#endif

#ifdef GL_ARB_texture_border_clamp
#endif

#ifdef GL_ARB_texture_compression
    GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE3DARBPROC GLH_EXT_NAME(glCompressedTexImage3DARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE2DARBPROC GLH_EXT_NAME(glCompressedTexImage2DARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE1DARBPROC GLH_EXT_NAME(glCompressedTexImage1DARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC GLH_EXT_NAME(glCompressedTexSubImage3DARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC GLH_EXT_NAME(glCompressedTexSubImage2DARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC GLH_EXT_NAME(glCompressedTexSubImage1DARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOMPRESSEDTEXIMAGEARBPROC GLH_EXT_NAME(glGetCompressedTexImageARB) GLH_INITIALIZER;
#endif

#ifdef GL_ARB_texture_cube_map
#endif

#ifdef GL_ARB_texture_env_add
#endif

#ifdef GL_ARB_texture_env_combine
#endif

#ifdef GL_ARB_texture_env_dot3
#endif

#ifdef GL_ARB_texture_mirrored_repeat
#endif

#ifdef GL_ARB_texture_non_power_of_two
#endif

#ifdef GL_ARB_texture_rectangle
#endif

#ifdef GL_ARB_transpose_matrix
    GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXFARBPROC GLH_EXT_NAME(glLoadTransposeMatrixfARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXDARBPROC GLH_EXT_NAME(glLoadTransposeMatrixdARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXFARBPROC GLH_EXT_NAME(glMultTransposeMatrixfARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXDARBPROC GLH_EXT_NAME(glMultTransposeMatrixdARB) GLH_INITIALIZER;
#endif

#ifdef GL_ARB_vertex_buffer_object
    GLH_EXTERN PFNGLBINDBUFFERARBPROC GLH_EXT_NAME(glBindBufferARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETEBUFFERSARBPROC GLH_EXT_NAME(glDeleteBuffersARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGENBUFFERSARBPROC GLH_EXT_NAME(glGenBuffersARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISBUFFERARBPROC GLH_EXT_NAME(glIsBufferARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBUFFERDATAARBPROC GLH_EXT_NAME(glBufferDataARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBUFFERSUBDATAARBPROC GLH_EXT_NAME(glBufferSubDataARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETBUFFERSUBDATAARBPROC GLH_EXT_NAME(glGetBufferSubDataARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMAPBUFFERARBPROC GLH_EXT_NAME(glMapBufferARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNMAPBUFFERARBPROC GLH_EXT_NAME(glUnmapBufferARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETBUFFERPARAMETERIVARBPROC GLH_EXT_NAME(glGetBufferParameterivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETBUFFERPOINTERVARBPROC GLH_EXT_NAME(glGetBufferPointervARB) GLH_INITIALIZER;
#endif

#ifdef GL_ARB_vertex_program
    GLH_EXTERN PFNGLVERTEXATTRIB1SARBPROC GLH_EXT_NAME(glVertexAttrib1sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1FARBPROC GLH_EXT_NAME(glVertexAttrib1fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1DARBPROC GLH_EXT_NAME(glVertexAttrib1dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2SARBPROC GLH_EXT_NAME(glVertexAttrib2sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2FARBPROC GLH_EXT_NAME(glVertexAttrib2fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2DARBPROC GLH_EXT_NAME(glVertexAttrib2dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3SARBPROC GLH_EXT_NAME(glVertexAttrib3sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3FARBPROC GLH_EXT_NAME(glVertexAttrib3fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3DARBPROC GLH_EXT_NAME(glVertexAttrib3dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4SARBPROC GLH_EXT_NAME(glVertexAttrib4sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4FARBPROC GLH_EXT_NAME(glVertexAttrib4fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4DARBPROC GLH_EXT_NAME(glVertexAttrib4dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4NUBARBPROC GLH_EXT_NAME(glVertexAttrib4NubARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1SVARBPROC GLH_EXT_NAME(glVertexAttrib1svARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1FVARBPROC GLH_EXT_NAME(glVertexAttrib1fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1DVARBPROC GLH_EXT_NAME(glVertexAttrib1dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2SVARBPROC GLH_EXT_NAME(glVertexAttrib2svARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2FVARBPROC GLH_EXT_NAME(glVertexAttrib2fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2DVARBPROC GLH_EXT_NAME(glVertexAttrib2dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3SVARBPROC GLH_EXT_NAME(glVertexAttrib3svARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3FVARBPROC GLH_EXT_NAME(glVertexAttrib3fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3DVARBPROC GLH_EXT_NAME(glVertexAttrib3dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4BVARBPROC GLH_EXT_NAME(glVertexAttrib4bvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4SVARBPROC GLH_EXT_NAME(glVertexAttrib4svARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4IVARBPROC GLH_EXT_NAME(glVertexAttrib4ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4UBVARBPROC GLH_EXT_NAME(glVertexAttrib4ubvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4USVARBPROC GLH_EXT_NAME(glVertexAttrib4usvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4UIVARBPROC GLH_EXT_NAME(glVertexAttrib4uivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4FVARBPROC GLH_EXT_NAME(glVertexAttrib4fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4DVARBPROC GLH_EXT_NAME(glVertexAttrib4dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4NBVARBPROC GLH_EXT_NAME(glVertexAttrib4NbvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4NSVARBPROC GLH_EXT_NAME(glVertexAttrib4NsvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4NIVARBPROC GLH_EXT_NAME(glVertexAttrib4NivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4NUBVARBPROC GLH_EXT_NAME(glVertexAttrib4NubvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4NUSVARBPROC GLH_EXT_NAME(glVertexAttrib4NusvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4NUIVARBPROC GLH_EXT_NAME(glVertexAttrib4NuivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBPOINTERARBPROC GLH_EXT_NAME(glVertexAttribPointerARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLENABLEVERTEXATTRIBARRAYARBPROC GLH_EXT_NAME(glEnableVertexAttribArrayARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDISABLEVERTEXATTRIBARRAYARBPROC GLH_EXT_NAME(glDisableVertexAttribArrayARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMSTRINGARBPROC GLH_EXT_NAME(glProgramStringARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBINDPROGRAMARBPROC GLH_EXT_NAME(glBindProgramARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETEPROGRAMSARBPROC GLH_EXT_NAME(glDeleteProgramsARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGENPROGRAMSARBPROC GLH_EXT_NAME(glGenProgramsARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMENVPARAMETER4DARBPROC GLH_EXT_NAME(glProgramEnvParameter4dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMENVPARAMETER4DVARBPROC GLH_EXT_NAME(glProgramEnvParameter4dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMENVPARAMETER4FARBPROC GLH_EXT_NAME(glProgramEnvParameter4fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMENVPARAMETER4FVARBPROC GLH_EXT_NAME(glProgramEnvParameter4fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMLOCALPARAMETER4DARBPROC GLH_EXT_NAME(glProgramLocalParameter4dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMLOCALPARAMETER4DVARBPROC GLH_EXT_NAME(glProgramLocalParameter4dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMLOCALPARAMETER4FARBPROC GLH_EXT_NAME(glProgramLocalParameter4fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMLOCALPARAMETER4FVARBPROC GLH_EXT_NAME(glProgramLocalParameter4fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMENVPARAMETERDVARBPROC GLH_EXT_NAME(glGetProgramEnvParameterdvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMENVPARAMETERFVARBPROC GLH_EXT_NAME(glGetProgramEnvParameterfvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GLH_EXT_NAME(glGetProgramLocalParameterdvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GLH_EXT_NAME(glGetProgramLocalParameterfvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMIVARBPROC GLH_EXT_NAME(glGetProgramivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMSTRINGARBPROC GLH_EXT_NAME(glGetProgramStringARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETVERTEXATTRIBDVARBPROC GLH_EXT_NAME(glGetVertexAttribdvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETVERTEXATTRIBFVARBPROC GLH_EXT_NAME(glGetVertexAttribfvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETVERTEXATTRIBIVARBPROC GLH_EXT_NAME(glGetVertexAttribivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETVERTEXATTRIBPOINTERVARBPROC GLH_EXT_NAME(glGetVertexAttribPointervARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISPROGRAMARBPROC GLH_EXT_NAME(glIsProgramARB) GLH_INITIALIZER;
#endif

#ifdef GL_ARB_vertex_shader
    GLH_EXTERN PFNGLBINDATTRIBLOCATIONARBPROC GLH_EXT_NAME(glBindAttribLocationARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETACTIVEATTRIBARBPROC GLH_EXT_NAME(glGetActiveAttribARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETATTRIBLOCATIONARBPROC GLH_EXT_NAME(glGetAttribLocationARB) GLH_INITIALIZER;
#endif

#ifdef GL_ARB_window_pos
    GLH_EXTERN PFNGLWINDOWPOS2DARBPROC GLH_EXT_NAME(glWindowPos2dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2FARBPROC GLH_EXT_NAME(glWindowPos2fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2IARBPROC GLH_EXT_NAME(glWindowPos2iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2SARBPROC GLH_EXT_NAME(glWindowPos2sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2DVARBPROC GLH_EXT_NAME(glWindowPos2dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2FVARBPROC GLH_EXT_NAME(glWindowPos2fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2IVARBPROC GLH_EXT_NAME(glWindowPos2ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS2SVARBPROC GLH_EXT_NAME(glWindowPos2svARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3DARBPROC GLH_EXT_NAME(glWindowPos3dARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3FARBPROC GLH_EXT_NAME(glWindowPos3fARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3IARBPROC GLH_EXT_NAME(glWindowPos3iARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3SARBPROC GLH_EXT_NAME(glWindowPos3sARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3DVARBPROC GLH_EXT_NAME(glWindowPos3dvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3FVARBPROC GLH_EXT_NAME(glWindowPos3fvARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3IVARBPROC GLH_EXT_NAME(glWindowPos3ivARB) GLH_INITIALIZER;
    GLH_EXTERN PFNGLWINDOWPOS3SVARBPROC GLH_EXT_NAME(glWindowPos3svARB) GLH_INITIALIZER;
#endif

#ifdef GL_ATI_draw_buffers
    GLH_EXTERN PFNGLDRAWBUFFERSATIPROC GLH_EXT_NAME(glDrawBuffersATI) GLH_INITIALIZER;
#endif

#ifdef GL_ATI_texture_float
#endif

#ifdef GL_EXT_abgr
#endif

#ifdef GL_EXT_bgra
#endif

#ifdef GL_EXT_blend_color
    GLH_EXTERN PFNGLBLENDCOLOREXTPROC GLH_EXT_NAME(glBlendColorEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_blend_equation_separate
    GLH_EXTERN PFNGLBLENDEQUATIONSEPARATEEXTPROC GLH_EXT_NAME(glBlendEquationSeparateEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_blend_func_separate
    GLH_EXTERN PFNGLBLENDFUNCSEPARATEEXTPROC GLH_EXT_NAME(glBlendFuncSeparateEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_blend_minmax
    GLH_EXTERN PFNGLBLENDEQUATIONEXTPROC GLH_EXT_NAME(glBlendEquationEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_blend_subtract
#endif

#ifdef GL_EXT_Cg_shader
#endif

#ifdef GL_EXT_compiled_vertex_array
    GLH_EXTERN PFNGLLOCKARRAYSEXTPROC GLH_EXT_NAME(glLockArraysEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLUNLOCKARRAYSEXTPROC GLH_EXT_NAME(glUnlockArraysEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_depth_bounds_test
    GLH_EXTERN PFNGLDEPTHBOUNDSEXTPROC GLH_EXT_NAME(glDepthBoundsEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_draw_range_elements
#endif

#ifdef GL_EXT_fog_coord
    GLH_EXTERN PFNGLFOGCOORDDEXTPROC GLH_EXT_NAME(glFogCoorddEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFOGCOORDDVEXTPROC GLH_EXT_NAME(glFogCoorddvEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFOGCOORDFEXTPROC GLH_EXT_NAME(glFogCoordfEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFOGCOORDFVEXTPROC GLH_EXT_NAME(glFogCoordfvEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFOGCOORDPOINTEREXTPROC GLH_EXT_NAME(glFogCoordPointerEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_framebuffer_object
    GLH_EXTERN PFNGLISRENDERBUFFEREXTPROC GLH_EXT_NAME(glIsRenderbufferEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBINDRENDERBUFFEREXTPROC GLH_EXT_NAME(glBindRenderbufferEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETERENDERBUFFERSEXTPROC GLH_EXT_NAME(glDeleteRenderbuffersEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGENRENDERBUFFERSEXTPROC GLH_EXT_NAME(glGenRenderbuffersEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLRENDERBUFFERSTORAGEEXTPROC GLH_EXT_NAME(glRenderbufferStorageEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC GLH_EXT_NAME(glGetRenderbufferParameterivEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISFRAMEBUFFEREXTPROC GLH_EXT_NAME(glIsFramebufferEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBINDFRAMEBUFFEREXTPROC GLH_EXT_NAME(glBindFramebufferEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETEFRAMEBUFFERSEXTPROC GLH_EXT_NAME(glDeleteFramebuffersEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGENFRAMEBUFFERSEXTPROC GLH_EXT_NAME(glGenFramebuffersEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC GLH_EXT_NAME(glCheckFramebufferStatusEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFRAMEBUFFERTEXTURE1DEXTPROC GLH_EXT_NAME(glFramebufferTexture1DEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFRAMEBUFFERTEXTURE2DEXTPROC GLH_EXT_NAME(glFramebufferTexture2DEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFRAMEBUFFERTEXTURE3DEXTPROC GLH_EXT_NAME(glFramebufferTexture3DEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC GLH_EXT_NAME(glFramebufferRenderbufferEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GLH_EXT_NAME(glGetFramebufferAttachmentParameterivEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGENERATEMIPMAPEXTPROC GLH_EXT_NAME(glGenerateMipmapEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_multi_draw_arrays
    GLH_EXTERN PFNGLMULTIDRAWARRAYSEXTPROC GLH_EXT_NAME(glMultiDrawArraysEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTIDRAWELEMENTSEXTPROC GLH_EXT_NAME(glMultiDrawElementsEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_light_max_exponent
#endif

#ifdef GL_EXT_packed_pixels
#endif

#ifdef GL_EXT_paletted_texture
    GLH_EXTERN PFNGLCOLORSUBTABLEEXTPROC GLH_EXT_NAME(glColorSubTableEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOLORTABLEEXTPROC GLH_EXT_NAME(glColorTableEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOLORTABLEEXTPROC GLH_EXT_NAME(glGetColorTableEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERFVEXTPROC GLH_EXT_NAME(glGetColorTableParameterfvEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERIVEXTPROC GLH_EXT_NAME(glGetColorTableParameterivEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_pixel_buffer_object
#endif

#ifdef GL_EXT_point_parameters
    GLH_EXTERN PFNGLPOINTPARAMETERFEXTPROC GLH_EXT_NAME(glPointParameterfEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPOINTPARAMETERFVEXTPROC GLH_EXT_NAME(glPointParameterfvEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_rescale_normal
#endif

#ifdef GL_EXT_secondary_color
    GLH_EXTERN PFNGLSECONDARYCOLOR3BEXTPROC GLH_EXT_NAME(glSecondaryColor3bEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3BVEXTPROC GLH_EXT_NAME(glSecondaryColor3bvEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3DEXTPROC GLH_EXT_NAME(glSecondaryColor3dEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3DVEXTPROC GLH_EXT_NAME(glSecondaryColor3dvEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3FEXTPROC GLH_EXT_NAME(glSecondaryColor3fEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3FVEXTPROC GLH_EXT_NAME(glSecondaryColor3fvEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3IEXTPROC GLH_EXT_NAME(glSecondaryColor3iEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3IVEXTPROC GLH_EXT_NAME(glSecondaryColor3ivEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3SEXTPROC GLH_EXT_NAME(glSecondaryColor3sEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3SVEXTPROC GLH_EXT_NAME(glSecondaryColor3svEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3UBEXTPROC GLH_EXT_NAME(glSecondaryColor3ubEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3UBVEXTPROC GLH_EXT_NAME(glSecondaryColor3ubvEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3UIEXTPROC GLH_EXT_NAME(glSecondaryColor3uiEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3UIVEXTPROC GLH_EXT_NAME(glSecondaryColor3uivEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3USEXTPROC GLH_EXT_NAME(glSecondaryColor3usEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3USVEXTPROC GLH_EXT_NAME(glSecondaryColor3usvEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLORPOINTEREXTPROC GLH_EXT_NAME(glSecondaryColorPointerEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_separate_specular_color
#endif

#ifdef GL_EXT_shadow_funcs
#endif

#ifdef GL_EXT_shared_texture_palette
#endif

#ifdef GL_EXT_stencil_two_side
    GLH_EXTERN PFNGLACTIVESTENCILFACEEXTPROC GLH_EXT_NAME(glActiveStencilFaceEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_stencil_wrap
#endif

#ifdef GL_EXT_texture_compression_s3tc
#endif

#ifdef GL_EXT_texture_cube_map
#endif

#ifdef GL_EXT_texture_edge_clamp
#endif

#ifdef GL_EXT_texture_env_add
#endif

#ifdef GL_EXT_texture_env_combine
#endif

#ifdef GL_EXT_texture_env_dot3
#endif

#ifdef GL_EXT_texture_filter_anisotropic
#endif

#ifdef GL_EXT_texture_lod_bias
#endif

#ifdef GL_EXT_texture_object
    GLH_EXTERN PFNGLARETEXTURESRESIDENTEXTPROC GLH_EXT_NAME(glAreTexturesResidentEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBINDTEXTUREEXTPROC GLH_EXT_NAME(glBindTextureEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETETEXTURESEXTPROC GLH_EXT_NAME(glDeleteTexturesEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGENTEXTURESEXTPROC GLH_EXT_NAME(glGenTexturesEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISTEXTUREEXTPROC GLH_EXT_NAME(glIsTextureEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPRIORITIZETEXTURESEXTPROC GLH_EXT_NAME(glPrioritizeTexturesEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_texture_rectangle
#endif

#ifdef GL_EXT_texture3D
    GLH_EXTERN PFNGLTEXIMAGE3DEXTPROC GLH_EXT_NAME(glTexImage3DEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_vertex_array
    GLH_EXTERN PFNGLARRAYELEMENTEXTPROC GLH_EXT_NAME(glArrayElementEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOLORPOINTEREXTPROC GLH_EXT_NAME(glColorPointerEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLEDGEFLAGPOINTEREXTPROC GLH_EXT_NAME(glEdgeFlagPointerEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPOINTERVEXTPROC GLH_EXT_NAME(glGetPointervEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLINDEXPOINTEREXTPROC GLH_EXT_NAME(glIndexPointerEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLNORMALPOINTEREXTPROC GLH_EXT_NAME(glNormalPointerEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXCOORDPOINTEREXTPROC GLH_EXT_NAME(glTexCoordPointerEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXPOINTEREXTPROC GLH_EXT_NAME(glVertexPointerEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDRAWARRAYSEXTPROC GLH_EXT_NAME(glDrawArraysEXT) GLH_INITIALIZER;
#endif

#ifdef GL_EXT_vertex_weighting
    GLH_EXTERN PFNGLVERTEXWEIGHTFEXTPROC GLH_EXT_NAME(glVertexWeightfEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXWEIGHTFVEXTPROC GLH_EXT_NAME(glVertexWeightfvEXT) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXWEIGHTPOINTEREXTPROC GLH_EXT_NAME(glVertexWeightPointerEXT) GLH_INITIALIZER;
#endif

#ifdef GL_HP_occlusion_test
#endif

#ifdef GL_IBM_texture_mirrored_repeat
#endif

#ifdef GL_NV_blend_square
#endif

#ifdef GL_NV_copy_depth_to_color
#endif

#ifdef GL_NV_depth_clamp
#endif

#ifdef GL_NV_element_array
    GLH_EXTERN PFNGLELEMENTPOINTERNVPROC GLH_EXT_NAME(glElementPointerNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDRAWELEMENTARRAYNVPROC GLH_EXT_NAME(glDrawElementArrayNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDRAWRANGEELEMENTARRAYNVPROC GLH_EXT_NAME(glDrawRangeElementArrayNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTIDRAWELEMENTARRAYNVPROC GLH_EXT_NAME(glMultiDrawElementArrayNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTIDRAWRANGEELEMENTARRAYNVPROC GLH_EXT_NAME(glMultiDrawRangeElementArrayNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_fence
    GLH_EXTERN PFNGLGENFENCESNVPROC GLH_EXT_NAME(glGenFencesNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETEFENCESNVPROC GLH_EXT_NAME(glDeleteFencesNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSETFENCENVPROC GLH_EXT_NAME(glSetFenceNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTESTFENCENVPROC GLH_EXT_NAME(glTestFenceNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFINISHFENCENVPROC GLH_EXT_NAME(glFinishFenceNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISFENCENVPROC GLH_EXT_NAME(glIsFenceNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETFENCEIVNVPROC GLH_EXT_NAME(glGetFenceivNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_float_buffer
#endif

#ifdef GL_NV_fog_distance
#endif

#ifdef GL_NV_fragment_program
    GLH_EXTERN PFNGLPROGRAMNAMEDPARAMETER4FNVPROC GLH_EXT_NAME(glProgramNamedParameter4fNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMNAMEDPARAMETER4DNVPROC GLH_EXT_NAME(glProgramNamedParameter4dNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC GLH_EXT_NAME(glProgramNamedParameter4fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC GLH_EXT_NAME(glProgramNamedParameter4dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC GLH_EXT_NAME(glGetProgramNamedParameterfvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC GLH_EXT_NAME(glGetProgramNamedParameterdvNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_fragment_program2
#endif

#ifdef GL_NV_half_float
    GLH_EXTERN PFNGLVERTEX2HNVPROC GLH_EXT_NAME(glVertex2hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEX2HVNVPROC GLH_EXT_NAME(glVertex2hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEX3HNVPROC GLH_EXT_NAME(glVertex3hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEX3HVNVPROC GLH_EXT_NAME(glVertex3hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEX4HNVPROC GLH_EXT_NAME(glVertex4hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEX4HVNVPROC GLH_EXT_NAME(glVertex4hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLNORMAL3HNVPROC GLH_EXT_NAME(glNormal3hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLNORMAL3HVNVPROC GLH_EXT_NAME(glNormal3hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOLOR3HNVPROC GLH_EXT_NAME(glColor3hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOLOR3HVNVPROC GLH_EXT_NAME(glColor3hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOLOR4HNVPROC GLH_EXT_NAME(glColor4hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOLOR4HVNVPROC GLH_EXT_NAME(glColor4hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXCOORD1HNVPROC GLH_EXT_NAME(glTexCoord1hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXCOORD1HVNVPROC GLH_EXT_NAME(glTexCoord1hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXCOORD2HNVPROC GLH_EXT_NAME(glTexCoord2hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXCOORD2HVNVPROC GLH_EXT_NAME(glTexCoord2hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXCOORD3HNVPROC GLH_EXT_NAME(glTexCoord3hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXCOORD3HVNVPROC GLH_EXT_NAME(glTexCoord3hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXCOORD4HNVPROC GLH_EXT_NAME(glTexCoord4hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTEXCOORD4HVNVPROC GLH_EXT_NAME(glTexCoord4hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1HNVPROC GLH_EXT_NAME(glMultiTexCoord1hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD1HVNVPROC GLH_EXT_NAME(glMultiTexCoord1hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2HNVPROC GLH_EXT_NAME(glMultiTexCoord2hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD2HVNVPROC GLH_EXT_NAME(glMultiTexCoord2hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3HNVPROC GLH_EXT_NAME(glMultiTexCoord3hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD3HVNVPROC GLH_EXT_NAME(glMultiTexCoord3hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4HNVPROC GLH_EXT_NAME(glMultiTexCoord4hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLMULTITEXCOORD4HVNVPROC GLH_EXT_NAME(glMultiTexCoord4hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFOGCOORDHNVPROC GLH_EXT_NAME(glFogCoordhNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFOGCOORDHVNVPROC GLH_EXT_NAME(glFogCoordhvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3HNVPROC GLH_EXT_NAME(glSecondaryColor3hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLSECONDARYCOLOR3HVNVPROC GLH_EXT_NAME(glSecondaryColor3hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1HNVPROC GLH_EXT_NAME(glVertexAttrib1hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1HVNVPROC GLH_EXT_NAME(glVertexAttrib1hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2HNVPROC GLH_EXT_NAME(glVertexAttrib2hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2HVNVPROC GLH_EXT_NAME(glVertexAttrib2hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3HNVPROC GLH_EXT_NAME(glVertexAttrib3hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3HVNVPROC GLH_EXT_NAME(glVertexAttrib3hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4HNVPROC GLH_EXT_NAME(glVertexAttrib4hNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4HVNVPROC GLH_EXT_NAME(glVertexAttrib4hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS1HVNVPROC GLH_EXT_NAME(glVertexAttribs1hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS2HVNVPROC GLH_EXT_NAME(glVertexAttribs2hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS3HVNVPROC GLH_EXT_NAME(glVertexAttribs3hvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS4HVNVPROC GLH_EXT_NAME(glVertexAttribs4hvNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_light_max_exponent
#endif

#ifdef GL_NV_multisample_filter_hint
#endif

#ifdef GL_NV_occlusion_query
    GLH_EXTERN PFNGLGENOCCLUSIONQUERIESNVPROC GLH_EXT_NAME(glGenOcclusionQueriesNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETEOCCLUSIONQUERIESNVPROC GLH_EXT_NAME(glDeleteOcclusionQueriesNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISOCCLUSIONQUERYNVPROC GLH_EXT_NAME(glIsOcclusionQueryNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBEGINOCCLUSIONQUERYNVPROC GLH_EXT_NAME(glBeginOcclusionQueryNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLENDOCCLUSIONQUERYNVPROC GLH_EXT_NAME(glEndOcclusionQueryNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETOCCLUSIONQUERYIVNVPROC GLH_EXT_NAME(glGetOcclusionQueryivNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETOCCLUSIONQUERYUIVNVPROC GLH_EXT_NAME(glGetOcclusionQueryuivNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_packed_depth_stencil
#endif

#ifdef GL_NV_pixel_buffer_object
#endif

#ifdef GL_NV_pixel_data_range
    GLH_EXTERN PFNGLPIXELDATARANGENVPROC GLH_EXT_NAME(glPixelDataRangeNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFLUSHPIXELDATARANGENVPROC GLH_EXT_NAME(glFlushPixelDataRangeNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_point_sprite
    GLH_EXTERN PFNGLPOINTPARAMETERINVPROC GLH_EXT_NAME(glPointParameteriNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPOINTPARAMETERIVNVPROC GLH_EXT_NAME(glPointParameterivNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_primitive_restart
    GLH_EXTERN PFNGLPRIMITIVERESTARTNVPROC GLH_EXT_NAME(glPrimitiveRestartNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPRIMITIVERESTARTINDEXNVPROC GLH_EXT_NAME(glPrimitiveRestartIndexNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_register_combiners
    GLH_EXTERN PFNGLCOMBINERPARAMETERFVNVPROC GLH_EXT_NAME(glCombinerParameterfvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMBINERPARAMETERFNVPROC GLH_EXT_NAME(glCombinerParameterfNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMBINERPARAMETERIVNVPROC GLH_EXT_NAME(glCombinerParameterivNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMBINERPARAMETERINVPROC GLH_EXT_NAME(glCombinerParameteriNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMBINERINPUTNVPROC GLH_EXT_NAME(glCombinerInputNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLCOMBINEROUTPUTNVPROC GLH_EXT_NAME(glCombinerOutputNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLFINALCOMBINERINPUTNVPROC GLH_EXT_NAME(glFinalCombinerInputNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC GLH_EXT_NAME(glGetCombinerInputParameterfvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC GLH_EXT_NAME(glGetCombinerInputParameterivNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC GLH_EXT_NAME(glGetCombinerOutputParameterfvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC GLH_EXT_NAME(glGetCombinerOutputParameterivNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC GLH_EXT_NAME(glGetFinalCombinerInputParameterfvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC GLH_EXT_NAME(glGetFinalCombinerInputParameterivNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_register_combiners2
    GLH_EXTERN PFNGLCOMBINERSTAGEPARAMETERFVNVPROC GLH_EXT_NAME(glCombinerStageParameterfvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC GLH_EXT_NAME(glGetCombinerStageParameterfvNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_stencil_two_side
    GLH_EXTERN PFNGLACTIVESTENCILFACENVPROC GLH_EXT_NAME(glActiveStencilFaceNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_texgen_reflection
#endif

#ifdef GL_NV_texture_compression_vtc
#endif

#ifdef GL_NV_texture_env_combine4
#endif

#ifdef GL_NV_texture_expand_normal
#endif

#ifdef GL_NV_texture_rectangle
#endif

#ifdef GL_NV_texture_shader
#endif

#ifdef GL_NV_texture_shader2
#endif

#ifdef GL_NV_texture_shader3
#endif

#ifdef GL_NV_vertex_array_range
    GLH_EXTERN PFNGLFLUSHVERTEXARRAYRANGENVPROC GLH_EXT_NAME(glFlushVertexArrayRangeNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXARRAYRANGENVPROC GLH_EXT_NAME(glVertexArrayRangeNV) GLH_INITIALIZER;
# ifdef _WIN32
    GLH_EXTERN PFNWGLALLOCATEMEMORYNVPROC GLH_EXT_NAME(wglAllocateMemoryNV) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXALLOCATEMEMORYNVPROC GLH_EXT_NAME(glXAllocateMemoryNV) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLFREEMEMORYNVPROC GLH_EXT_NAME(wglFreeMemoryNV) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXFREEMEMORYNVPROC GLH_EXT_NAME(glXFreeMemoryNV) GLH_INITIALIZER;
# endif
#endif

#ifdef GL_NV_vertex_array_range2
#endif

#ifdef GL_NV_vertex_program
    GLH_EXTERN PFNGLAREPROGRAMSRESIDENTNVPROC GLH_EXT_NAME(glAreProgramsResidentNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLBINDPROGRAMNVPROC GLH_EXT_NAME(glBindProgramNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLDELETEPROGRAMSNVPROC GLH_EXT_NAME(glDeleteProgramsNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLEXECUTEPROGRAMNVPROC GLH_EXT_NAME(glExecuteProgramNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGENPROGRAMSNVPROC GLH_EXT_NAME(glGenProgramsNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMPARAMETERDVNVPROC GLH_EXT_NAME(glGetProgramParameterdvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMPARAMETERFVNVPROC GLH_EXT_NAME(glGetProgramParameterfvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMIVNVPROC GLH_EXT_NAME(glGetProgramivNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETPROGRAMSTRINGNVPROC GLH_EXT_NAME(glGetProgramStringNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETTRACKMATRIXIVNVPROC GLH_EXT_NAME(glGetTrackMatrixivNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETVERTEXATTRIBDVNVPROC GLH_EXT_NAME(glGetVertexAttribdvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETVERTEXATTRIBFVNVPROC GLH_EXT_NAME(glGetVertexAttribfvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETVERTEXATTRIBIVNVPROC GLH_EXT_NAME(glGetVertexAttribivNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLGETVERTEXATTRIBPOINTERVNVPROC GLH_EXT_NAME(glGetVertexAttribPointervNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLISPROGRAMNVPROC GLH_EXT_NAME(glIsProgramNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLLOADPROGRAMNVPROC GLH_EXT_NAME(glLoadProgramNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMPARAMETER4DNVPROC GLH_EXT_NAME(glProgramParameter4dNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMPARAMETER4DVNVPROC GLH_EXT_NAME(glProgramParameter4dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMPARAMETER4FNVPROC GLH_EXT_NAME(glProgramParameter4fNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMPARAMETER4FVNVPROC GLH_EXT_NAME(glProgramParameter4fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMPARAMETERS4DVNVPROC GLH_EXT_NAME(glProgramParameters4dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLPROGRAMPARAMETERS4FVNVPROC GLH_EXT_NAME(glProgramParameters4fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLREQUESTRESIDENTPROGRAMSNVPROC GLH_EXT_NAME(glRequestResidentProgramsNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLTRACKMATRIXNVPROC GLH_EXT_NAME(glTrackMatrixNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBPOINTERNVPROC GLH_EXT_NAME(glVertexAttribPointerNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1DNVPROC GLH_EXT_NAME(glVertexAttrib1dNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1DVNVPROC GLH_EXT_NAME(glVertexAttrib1dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1FNVPROC GLH_EXT_NAME(glVertexAttrib1fNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1FVNVPROC GLH_EXT_NAME(glVertexAttrib1fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1SNVPROC GLH_EXT_NAME(glVertexAttrib1sNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB1SVNVPROC GLH_EXT_NAME(glVertexAttrib1svNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2DNVPROC GLH_EXT_NAME(glVertexAttrib2dNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2DVNVPROC GLH_EXT_NAME(glVertexAttrib2dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2FNVPROC GLH_EXT_NAME(glVertexAttrib2fNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2FVNVPROC GLH_EXT_NAME(glVertexAttrib2fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2SNVPROC GLH_EXT_NAME(glVertexAttrib2sNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB2SVNVPROC GLH_EXT_NAME(glVertexAttrib2svNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3DNVPROC GLH_EXT_NAME(glVertexAttrib3dNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3DVNVPROC GLH_EXT_NAME(glVertexAttrib3dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3FNVPROC GLH_EXT_NAME(glVertexAttrib3fNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3FVNVPROC GLH_EXT_NAME(glVertexAttrib3fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3SNVPROC GLH_EXT_NAME(glVertexAttrib3sNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB3SVNVPROC GLH_EXT_NAME(glVertexAttrib3svNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4DNVPROC GLH_EXT_NAME(glVertexAttrib4dNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4DVNVPROC GLH_EXT_NAME(glVertexAttrib4dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4FNVPROC GLH_EXT_NAME(glVertexAttrib4fNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4FVNVPROC GLH_EXT_NAME(glVertexAttrib4fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4SNVPROC GLH_EXT_NAME(glVertexAttrib4sNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4SVNVPROC GLH_EXT_NAME(glVertexAttrib4svNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIB4UBVNVPROC GLH_EXT_NAME(glVertexAttrib4ubvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS1DVNVPROC GLH_EXT_NAME(glVertexAttribs1dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS1FVNVPROC GLH_EXT_NAME(glVertexAttribs1fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS1SVNVPROC GLH_EXT_NAME(glVertexAttribs1svNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS2DVNVPROC GLH_EXT_NAME(glVertexAttribs2dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS2FVNVPROC GLH_EXT_NAME(glVertexAttribs2fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS2SVNVPROC GLH_EXT_NAME(glVertexAttribs2svNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS3DVNVPROC GLH_EXT_NAME(glVertexAttribs3dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS3FVNVPROC GLH_EXT_NAME(glVertexAttribs3fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS3SVNVPROC GLH_EXT_NAME(glVertexAttribs3svNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS4DVNVPROC GLH_EXT_NAME(glVertexAttribs4dvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS4FVNVPROC GLH_EXT_NAME(glVertexAttribs4fvNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS4SVNVPROC GLH_EXT_NAME(glVertexAttribs4svNV) GLH_INITIALIZER;
    GLH_EXTERN PFNGLVERTEXATTRIBS4UBVNVPROC GLH_EXT_NAME(glVertexAttribs4ubvNV) GLH_INITIALIZER;
#endif

#ifdef GL_NV_vertex_program1_1
#endif

#ifdef GL_NV_vertex_program2
#endif

#ifdef GL_NV_vertex_program2_option
#endif

#ifdef GL_NV_vertex_program3
#endif

#ifdef GL_SGIS_generate_mipmap
#endif

#ifdef GL_SGIS_texture_lod
#endif

#ifdef GL_SGIX_depth_texture
#endif

#ifdef GL_SGIX_shadow
#endif

#ifdef GL_WIN_swap_hint
    GLH_EXTERN PFNGLADDSWAPHINTRECTWINPROC GLH_EXT_NAME(glAddSwapHintRectWIN) GLH_INITIALIZER;
#endif

#ifdef WGL_ARB_buffer_region
# ifdef _WIN32
    GLH_EXTERN PFNWGLCREATEBUFFERREGIONARBPROC GLH_EXT_NAME(wglCreateBufferRegionARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLDELETEBUFFERREGIONARBPROC GLH_EXT_NAME(wglDeleteBufferRegionARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLSAVEBUFFERREGIONARBPROC GLH_EXT_NAME(wglSaveBufferRegionARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLRESTOREBUFFERREGIONARBPROC GLH_EXT_NAME(wglRestoreBufferRegionARB) GLH_INITIALIZER;
# endif
#endif

#ifdef WGL_ARB_extensions_string
# ifdef _WIN32
    GLH_EXTERN PFNWGLGETEXTENSIONSSTRINGARBPROC GLH_EXT_NAME(wglGetExtensionsStringARB) GLH_INITIALIZER;
# endif
#endif

#ifdef WGL_ARB_pbuffer
# ifdef _WIN32
    GLH_EXTERN PFNWGLCREATEPBUFFERARBPROC GLH_EXT_NAME(wglCreatePbufferARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLGETPBUFFERDCARBPROC GLH_EXT_NAME(wglGetPbufferDCARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLRELEASEPBUFFERDCARBPROC GLH_EXT_NAME(wglReleasePbufferDCARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLDESTROYPBUFFERARBPROC GLH_EXT_NAME(wglDestroyPbufferARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLQUERYPBUFFERARBPROC GLH_EXT_NAME(wglQueryPbufferARB) GLH_INITIALIZER;
# endif
#endif

#ifdef WGL_ARB_pixel_format
# ifdef _WIN32
    GLH_EXTERN PFNWGLGETPIXELFORMATATTRIBIVARBPROC GLH_EXT_NAME(wglGetPixelFormatAttribivARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLGETPIXELFORMATATTRIBFVARBPROC GLH_EXT_NAME(wglGetPixelFormatAttribfvARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLCHOOSEPIXELFORMATARBPROC GLH_EXT_NAME(wglChoosePixelFormatARB) GLH_INITIALIZER;
# endif
#endif

#ifdef WGL_ARB_render_texture
# ifdef _WIN32
    GLH_EXTERN PFNWGLBINDTEXIMAGEARBPROC GLH_EXT_NAME(wglBindTexImageARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLRELEASETEXIMAGEARBPROC GLH_EXT_NAME(wglReleaseTexImageARB) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLSETPBUFFERATTRIBARBPROC GLH_EXT_NAME(wglSetPbufferAttribARB) GLH_INITIALIZER;
# endif
#endif

#ifdef WGL_ATI_pixel_format_float
#endif

#ifdef WGL_EXT_extensions_string
# ifdef _WIN32
    GLH_EXTERN PFNWGLGETEXTENSIONSSTRINGEXTPROC GLH_EXT_NAME(wglGetExtensionsStringEXT) GLH_INITIALIZER;
# endif
#endif

#ifdef WGL_EXT_swap_control
# ifdef _WIN32
    GLH_EXTERN PFNWGLSWAPINTERVALEXTPROC GLH_EXT_NAME(wglSwapIntervalEXT) GLH_INITIALIZER;
# endif
# ifdef _WIN32
    GLH_EXTERN PFNWGLGETSWAPINTERVALEXTPROC GLH_EXT_NAME(wglGetSwapIntervalEXT) GLH_INITIALIZER;
# endif
#endif

#ifdef WGL_NV_float_buffer
#endif

#ifdef WGL_NV_render_depth_texture
#endif

#ifdef WGL_NV_render_texture_rectangle
#endif

#ifdef GLX_NV_float_buffer
#endif

#ifdef GL_NVX_conditional_render
    GLH_EXTERN PFNGLBEGINCONDITIONALRENDERNVXPROC GLH_EXT_NAME(glBeginConditionalRenderNVX) GLH_INITIALIZER;
    GLH_EXTERN PFNGLENDCONDITIONALRENDERNVXPROC GLH_EXT_NAME(glEndConditionalRenderNVX) GLH_INITIALIZER;
#endif

#ifdef GLX_SGIX_pbuffer
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXCREATEGLXPBUFFERSGIXPROC GLH_EXT_NAME(glXCreateGLXPbufferSGIX) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXDESTROYGLXPBUFFERSGIXPROC GLH_EXT_NAME(glXDestroyGLXPbufferSGIX) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXQUERYGLXPBUFFERSGIXPROC GLH_EXT_NAME(glXQueryGLXPbufferSGIX) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXSELECTEVENTSGIXPROC GLH_EXT_NAME(glXSelectEventSGIX) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXGETSELECTEDEVENTSGIXPROC GLH_EXT_NAME(glXGetSelectedEventSGIX) GLH_INITIALIZER;
# endif
#endif

#ifdef GLX_SGIX_fbconfig
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXGETFBCONFIGATTRIBSGIXPROC GLH_EXT_NAME(glXGetFBConfigAttribSGIX) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXCHOOSEFBCONFIGSGIXPROC GLH_EXT_NAME(glXChooseFBConfigSGIX) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC GLH_EXT_NAME(glXCreateGLXPixmapWithConfigSGIX) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC GLH_EXT_NAME(glXCreateContextWithConfigSGIX) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXGETVISUALFROMFBCONFIGSGIXPROC GLH_EXT_NAME(glXGetVisualFromFBConfigSGIX) GLH_INITIALIZER;
# endif
# ifdef GLX_VERSION_1_3
    GLH_EXTERN PFNGLXGETFBCONFIGFROMVISUALSGIXPROC GLH_EXT_NAME(glXGetFBConfigFromVisualSGIX) GLH_INITIALIZER;
# endif
#endif


#ifdef GLH_EXT_SINGLE_FILE

int glh_init_extension(const char* extension)
{
    if (NULL == extension)
        return GL_FALSE;

#ifndef _WIN32
    if (0 == strcmp(extension, "GL_VERSION_1_2") || 0 == strcmp(extension, "GL_VERSION_1_3") || 0 == strcmp(extension, "GL_VERSION_1_4") || 0 == strcmp(extension, "GL_VERSION_1_5"))
        return GL_TRUE;
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_2) || defined(GL_VERSION_1_3) || defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
    if (0 == strcmp(extension, "GL_VERSION_1_2")) {
        GLH_CORE_NAME(glBlendColor) = (PFNGLBLENDCOLORPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendColor");
        if (NULL == GLH_CORE_NAME(glBlendColor))
            return GL_FALSE;
        GLH_CORE_NAME(glBlendEquation) = (PFNGLBLENDEQUATIONPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendEquation");
        if (NULL == GLH_CORE_NAME(glBlendEquation))
            return GL_FALSE;
        GLH_CORE_NAME(glDrawRangeElements) = (PFNGLDRAWRANGEELEMENTSPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawRangeElements");
        if (NULL == GLH_CORE_NAME(glDrawRangeElements))
            return GL_FALSE;
        GLH_CORE_NAME(glTexImage3D) = (PFNGLTEXIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexImage3D");
        if (NULL == GLH_CORE_NAME(glTexImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glTexSubImage3D) = (PFNGLTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCopyTexSubImage3D) = (PFNGLCOPYTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCopyTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glCopyTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1d) = (PFNGLMULTITEXCOORD1DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1dv) = (PFNGLMULTITEXCOORD1DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1f) = (PFNGLMULTITEXCOORD1FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1fv) = (PFNGLMULTITEXCOORD1FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1i) = (PFNGLMULTITEXCOORD1IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1iv) = (PFNGLMULTITEXCOORD1IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1s) = (PFNGLMULTITEXCOORD1SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1sv) = (PFNGLMULTITEXCOORD1SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2d) = (PFNGLMULTITEXCOORD2DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2dv) = (PFNGLMULTITEXCOORD2DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2f) = (PFNGLMULTITEXCOORD2FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2fv) = (PFNGLMULTITEXCOORD2FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2i) = (PFNGLMULTITEXCOORD2IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2iv) = (PFNGLMULTITEXCOORD2IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2s) = (PFNGLMULTITEXCOORD2SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2sv) = (PFNGLMULTITEXCOORD2SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3d) = (PFNGLMULTITEXCOORD3DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3dv) = (PFNGLMULTITEXCOORD3DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3f) = (PFNGLMULTITEXCOORD3FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3fv) = (PFNGLMULTITEXCOORD3FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3i) = (PFNGLMULTITEXCOORD3IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3iv) = (PFNGLMULTITEXCOORD3IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3s) = (PFNGLMULTITEXCOORD3SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3sv) = (PFNGLMULTITEXCOORD3SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4d) = (PFNGLMULTITEXCOORD4DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4dv) = (PFNGLMULTITEXCOORD4DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4f) = (PFNGLMULTITEXCOORD4FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4fv) = (PFNGLMULTITEXCOORD4FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4i) = (PFNGLMULTITEXCOORD4IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4iv) = (PFNGLMULTITEXCOORD4IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4s) = (PFNGLMULTITEXCOORD4SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4sv) = (PFNGLMULTITEXCOORD4SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4sv))
            return GL_FALSE;
        GLH_CORE_NAME(glActiveTexture) = (PFNGLACTIVETEXTUREPROC)GLH_EXT_GET_PROC_ADDRESS("glActiveTexture");
        if (NULL == GLH_CORE_NAME(glActiveTexture))
            return GL_FALSE;
        GLH_CORE_NAME(glClientActiveTexture) = (PFNGLCLIENTACTIVETEXTUREPROC)GLH_EXT_GET_PROC_ADDRESS("glClientActiveTexture");
        if (NULL == GLH_CORE_NAME(glClientActiveTexture))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_3) || defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
    if (0 == strcmp(extension, "GL_VERSION_1_3")) {
        GLH_CORE_NAME(glBlendColor) = (PFNGLBLENDCOLORPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendColor");
        if (NULL == GLH_CORE_NAME(glBlendColor))
            return GL_FALSE;
        GLH_CORE_NAME(glBlendEquation) = (PFNGLBLENDEQUATIONPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendEquation");
        if (NULL == GLH_CORE_NAME(glBlendEquation))
            return GL_FALSE;
        GLH_CORE_NAME(glDrawRangeElements) = (PFNGLDRAWRANGEELEMENTSPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawRangeElements");
        if (NULL == GLH_CORE_NAME(glDrawRangeElements))
            return GL_FALSE;
        GLH_CORE_NAME(glTexImage3D) = (PFNGLTEXIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexImage3D");
        if (NULL == GLH_CORE_NAME(glTexImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glTexSubImage3D) = (PFNGLTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCopyTexSubImage3D) = (PFNGLCOPYTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCopyTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glCopyTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1d) = (PFNGLMULTITEXCOORD1DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1dv) = (PFNGLMULTITEXCOORD1DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1f) = (PFNGLMULTITEXCOORD1FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1fv) = (PFNGLMULTITEXCOORD1FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1i) = (PFNGLMULTITEXCOORD1IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1iv) = (PFNGLMULTITEXCOORD1IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1s) = (PFNGLMULTITEXCOORD1SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1sv) = (PFNGLMULTITEXCOORD1SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2d) = (PFNGLMULTITEXCOORD2DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2dv) = (PFNGLMULTITEXCOORD2DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2f) = (PFNGLMULTITEXCOORD2FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2fv) = (PFNGLMULTITEXCOORD2FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2i) = (PFNGLMULTITEXCOORD2IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2iv) = (PFNGLMULTITEXCOORD2IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2s) = (PFNGLMULTITEXCOORD2SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2sv) = (PFNGLMULTITEXCOORD2SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3d) = (PFNGLMULTITEXCOORD3DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3dv) = (PFNGLMULTITEXCOORD3DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3f) = (PFNGLMULTITEXCOORD3FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3fv) = (PFNGLMULTITEXCOORD3FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3i) = (PFNGLMULTITEXCOORD3IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3iv) = (PFNGLMULTITEXCOORD3IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3s) = (PFNGLMULTITEXCOORD3SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3sv) = (PFNGLMULTITEXCOORD3SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4d) = (PFNGLMULTITEXCOORD4DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4dv) = (PFNGLMULTITEXCOORD4DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4f) = (PFNGLMULTITEXCOORD4FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4fv) = (PFNGLMULTITEXCOORD4FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4i) = (PFNGLMULTITEXCOORD4IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4iv) = (PFNGLMULTITEXCOORD4IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4s) = (PFNGLMULTITEXCOORD4SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4sv) = (PFNGLMULTITEXCOORD4SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4sv))
            return GL_FALSE;
        GLH_CORE_NAME(glActiveTexture) = (PFNGLACTIVETEXTUREPROC)GLH_EXT_GET_PROC_ADDRESS("glActiveTexture");
        if (NULL == GLH_CORE_NAME(glActiveTexture))
            return GL_FALSE;
        GLH_CORE_NAME(glClientActiveTexture) = (PFNGLCLIENTACTIVETEXTUREPROC)GLH_EXT_GET_PROC_ADDRESS("glClientActiveTexture");
        if (NULL == GLH_CORE_NAME(glClientActiveTexture))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexImage3D) = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage3D");
        if (NULL == GLH_CORE_NAME(glCompressedTexImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexImage2D) = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage2D");
        if (NULL == GLH_CORE_NAME(glCompressedTexImage2D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexImage1D) = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage1D");
        if (NULL == GLH_CORE_NAME(glCompressedTexImage1D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexSubImage3D) = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glCompressedTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexSubImage2D) = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage2D");
        if (NULL == GLH_CORE_NAME(glCompressedTexSubImage2D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexSubImage1D) = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage1D");
        if (NULL == GLH_CORE_NAME(glCompressedTexSubImage1D))
            return GL_FALSE;
        GLH_CORE_NAME(glGetCompressedTexImage) = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCompressedTexImage");
        if (NULL == GLH_CORE_NAME(glGetCompressedTexImage))
            return GL_FALSE;
        GLH_CORE_NAME(glSampleCoverage) = (PFNGLSAMPLECOVERAGEPROC)GLH_EXT_GET_PROC_ADDRESS("glSampleCoverage");
        if (NULL == GLH_CORE_NAME(glSampleCoverage))
            return GL_FALSE;
        GLH_CORE_NAME(glLoadTransposeMatrixf) = (PFNGLLOADTRANSPOSEMATRIXFPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixf");
        if (NULL == GLH_CORE_NAME(glLoadTransposeMatrixf))
            return GL_FALSE;
        GLH_CORE_NAME(glLoadTransposeMatrixd) = (PFNGLLOADTRANSPOSEMATRIXDPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixd");
        if (NULL == GLH_CORE_NAME(glLoadTransposeMatrixd))
            return GL_FALSE;
        GLH_CORE_NAME(glMultTransposeMatrixf) = (PFNGLMULTTRANSPOSEMATRIXFPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixf");
        if (NULL == GLH_CORE_NAME(glMultTransposeMatrixf))
            return GL_FALSE;
        GLH_CORE_NAME(glMultTransposeMatrixd) = (PFNGLMULTTRANSPOSEMATRIXDPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixd");
        if (NULL == GLH_CORE_NAME(glMultTransposeMatrixd))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
    if (0 == strcmp(extension, "GL_VERSION_1_4")) {
        GLH_CORE_NAME(glBlendColor) = (PFNGLBLENDCOLORPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendColor");
        if (NULL == GLH_CORE_NAME(glBlendColor))
            return GL_FALSE;
        GLH_CORE_NAME(glBlendEquation) = (PFNGLBLENDEQUATIONPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendEquation");
        if (NULL == GLH_CORE_NAME(glBlendEquation))
            return GL_FALSE;
        GLH_CORE_NAME(glDrawRangeElements) = (PFNGLDRAWRANGEELEMENTSPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawRangeElements");
        if (NULL == GLH_CORE_NAME(glDrawRangeElements))
            return GL_FALSE;
        GLH_CORE_NAME(glTexImage3D) = (PFNGLTEXIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexImage3D");
        if (NULL == GLH_CORE_NAME(glTexImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glTexSubImage3D) = (PFNGLTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCopyTexSubImage3D) = (PFNGLCOPYTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCopyTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glCopyTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1d) = (PFNGLMULTITEXCOORD1DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1dv) = (PFNGLMULTITEXCOORD1DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1f) = (PFNGLMULTITEXCOORD1FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1fv) = (PFNGLMULTITEXCOORD1FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1i) = (PFNGLMULTITEXCOORD1IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1iv) = (PFNGLMULTITEXCOORD1IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1s) = (PFNGLMULTITEXCOORD1SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1sv) = (PFNGLMULTITEXCOORD1SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2d) = (PFNGLMULTITEXCOORD2DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2dv) = (PFNGLMULTITEXCOORD2DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2f) = (PFNGLMULTITEXCOORD2FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2fv) = (PFNGLMULTITEXCOORD2FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2i) = (PFNGLMULTITEXCOORD2IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2iv) = (PFNGLMULTITEXCOORD2IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2s) = (PFNGLMULTITEXCOORD2SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2sv) = (PFNGLMULTITEXCOORD2SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3d) = (PFNGLMULTITEXCOORD3DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3dv) = (PFNGLMULTITEXCOORD3DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3f) = (PFNGLMULTITEXCOORD3FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3fv) = (PFNGLMULTITEXCOORD3FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3i) = (PFNGLMULTITEXCOORD3IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3iv) = (PFNGLMULTITEXCOORD3IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3s) = (PFNGLMULTITEXCOORD3SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3sv) = (PFNGLMULTITEXCOORD3SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4d) = (PFNGLMULTITEXCOORD4DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4dv) = (PFNGLMULTITEXCOORD4DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4f) = (PFNGLMULTITEXCOORD4FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4fv) = (PFNGLMULTITEXCOORD4FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4i) = (PFNGLMULTITEXCOORD4IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4iv) = (PFNGLMULTITEXCOORD4IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4s) = (PFNGLMULTITEXCOORD4SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4sv) = (PFNGLMULTITEXCOORD4SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4sv))
            return GL_FALSE;
        GLH_CORE_NAME(glActiveTexture) = (PFNGLACTIVETEXTUREPROC)GLH_EXT_GET_PROC_ADDRESS("glActiveTexture");
        if (NULL == GLH_CORE_NAME(glActiveTexture))
            return GL_FALSE;
        GLH_CORE_NAME(glClientActiveTexture) = (PFNGLCLIENTACTIVETEXTUREPROC)GLH_EXT_GET_PROC_ADDRESS("glClientActiveTexture");
        if (NULL == GLH_CORE_NAME(glClientActiveTexture))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexImage3D) = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage3D");
        if (NULL == GLH_CORE_NAME(glCompressedTexImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexImage2D) = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage2D");
        if (NULL == GLH_CORE_NAME(glCompressedTexImage2D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexImage1D) = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage1D");
        if (NULL == GLH_CORE_NAME(glCompressedTexImage1D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexSubImage3D) = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glCompressedTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexSubImage2D) = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage2D");
        if (NULL == GLH_CORE_NAME(glCompressedTexSubImage2D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexSubImage1D) = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage1D");
        if (NULL == GLH_CORE_NAME(glCompressedTexSubImage1D))
            return GL_FALSE;
        GLH_CORE_NAME(glGetCompressedTexImage) = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCompressedTexImage");
        if (NULL == GLH_CORE_NAME(glGetCompressedTexImage))
            return GL_FALSE;
        GLH_CORE_NAME(glSampleCoverage) = (PFNGLSAMPLECOVERAGEPROC)GLH_EXT_GET_PROC_ADDRESS("glSampleCoverage");
        if (NULL == GLH_CORE_NAME(glSampleCoverage))
            return GL_FALSE;
        GLH_CORE_NAME(glLoadTransposeMatrixf) = (PFNGLLOADTRANSPOSEMATRIXFPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixf");
        if (NULL == GLH_CORE_NAME(glLoadTransposeMatrixf))
            return GL_FALSE;
        GLH_CORE_NAME(glLoadTransposeMatrixd) = (PFNGLLOADTRANSPOSEMATRIXDPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixd");
        if (NULL == GLH_CORE_NAME(glLoadTransposeMatrixd))
            return GL_FALSE;
        GLH_CORE_NAME(glMultTransposeMatrixf) = (PFNGLMULTTRANSPOSEMATRIXFPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixf");
        if (NULL == GLH_CORE_NAME(glMultTransposeMatrixf))
            return GL_FALSE;
        GLH_CORE_NAME(glMultTransposeMatrixd) = (PFNGLMULTTRANSPOSEMATRIXDPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixd");
        if (NULL == GLH_CORE_NAME(glMultTransposeMatrixd))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiDrawArrays) = (PFNGLMULTIDRAWARRAYSPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiDrawArrays");
        if (NULL == GLH_CORE_NAME(glMultiDrawArrays))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiDrawElements) = (PFNGLMULTIDRAWELEMENTSPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiDrawElements");
        if (NULL == GLH_CORE_NAME(glMultiDrawElements))
            return GL_FALSE;
        GLH_CORE_NAME(glPointParameterf) = (PFNGLPOINTPARAMETERFPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterf");
        if (NULL == GLH_CORE_NAME(glPointParameterf))
            return GL_FALSE;
        GLH_CORE_NAME(glPointParameterfv) = (PFNGLPOINTPARAMETERFVPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterfv");
        if (NULL == GLH_CORE_NAME(glPointParameterfv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3b) = (PFNGLSECONDARYCOLOR3BPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3b");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3b))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3bv) = (PFNGLSECONDARYCOLOR3BVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3bv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3bv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3d) = (PFNGLSECONDARYCOLOR3DPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3d");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3d))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3dv) = (PFNGLSECONDARYCOLOR3DVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3dv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3dv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3f) = (PFNGLSECONDARYCOLOR3FPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3f");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3f))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3fv) = (PFNGLSECONDARYCOLOR3FVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3fv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3fv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3i) = (PFNGLSECONDARYCOLOR3IPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3i");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3i))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3iv) = (PFNGLSECONDARYCOLOR3IVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3iv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3iv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3s) = (PFNGLSECONDARYCOLOR3SPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3s");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3s))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3sv) = (PFNGLSECONDARYCOLOR3SVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3sv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3sv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3ub) = (PFNGLSECONDARYCOLOR3UBPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ub");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3ub))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3ubv) = (PFNGLSECONDARYCOLOR3UBVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ubv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3ubv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3ui) = (PFNGLSECONDARYCOLOR3UIPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ui");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3ui))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3uiv) = (PFNGLSECONDARYCOLOR3UIVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3uiv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3uiv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3us) = (PFNGLSECONDARYCOLOR3USPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3us");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3us))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3usv) = (PFNGLSECONDARYCOLOR3USVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3usv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3usv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColorPointer) = (PFNGLSECONDARYCOLORPOINTERPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColorPointer");
        if (NULL == GLH_CORE_NAME(glSecondaryColorPointer))
            return GL_FALSE;
        GLH_CORE_NAME(glBlendFuncSeparate) = (PFNGLBLENDFUNCSEPARATEPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendFuncSeparate");
        if (NULL == GLH_CORE_NAME(glBlendFuncSeparate))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2d) = (PFNGLWINDOWPOS2DPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2d");
        if (NULL == GLH_CORE_NAME(glWindowPos2d))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2f) = (PFNGLWINDOWPOS2FPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2f");
        if (NULL == GLH_CORE_NAME(glWindowPos2f))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2i) = (PFNGLWINDOWPOS2IPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2i");
        if (NULL == GLH_CORE_NAME(glWindowPos2i))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2s) = (PFNGLWINDOWPOS2SPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2s");
        if (NULL == GLH_CORE_NAME(glWindowPos2s))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2dv) = (PFNGLWINDOWPOS2DVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2dv");
        if (NULL == GLH_CORE_NAME(glWindowPos2dv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2fv) = (PFNGLWINDOWPOS2FVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2fv");
        if (NULL == GLH_CORE_NAME(glWindowPos2fv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2iv) = (PFNGLWINDOWPOS2IVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2iv");
        if (NULL == GLH_CORE_NAME(glWindowPos2iv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2sv) = (PFNGLWINDOWPOS2SVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2sv");
        if (NULL == GLH_CORE_NAME(glWindowPos2sv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3d) = (PFNGLWINDOWPOS3DPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3d");
        if (NULL == GLH_CORE_NAME(glWindowPos3d))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3f) = (PFNGLWINDOWPOS3FPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3f");
        if (NULL == GLH_CORE_NAME(glWindowPos3f))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3i) = (PFNGLWINDOWPOS3IPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3i");
        if (NULL == GLH_CORE_NAME(glWindowPos3i))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3s) = (PFNGLWINDOWPOS3SPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3s");
        if (NULL == GLH_CORE_NAME(glWindowPos3s))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3dv) = (PFNGLWINDOWPOS3DVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3dv");
        if (NULL == GLH_CORE_NAME(glWindowPos3dv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3fv) = (PFNGLWINDOWPOS3FVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3fv");
        if (NULL == GLH_CORE_NAME(glWindowPos3fv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3iv) = (PFNGLWINDOWPOS3IVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3iv");
        if (NULL == GLH_CORE_NAME(glWindowPos3iv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3sv) = (PFNGLWINDOWPOS3SVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3sv");
        if (NULL == GLH_CORE_NAME(glWindowPos3sv))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_5)
    if (0 == strcmp(extension, "GL_VERSION_1_5")) {
        GLH_CORE_NAME(glBlendColor) = (PFNGLBLENDCOLORPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendColor");
        if (NULL == GLH_CORE_NAME(glBlendColor))
            return GL_FALSE;
        GLH_CORE_NAME(glBlendEquation) = (PFNGLBLENDEQUATIONPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendEquation");
        if (NULL == GLH_CORE_NAME(glBlendEquation))
            return GL_FALSE;
        GLH_CORE_NAME(glDrawRangeElements) = (PFNGLDRAWRANGEELEMENTSPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawRangeElements");
        if (NULL == GLH_CORE_NAME(glDrawRangeElements))
            return GL_FALSE;
        GLH_CORE_NAME(glTexImage3D) = (PFNGLTEXIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexImage3D");
        if (NULL == GLH_CORE_NAME(glTexImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glTexSubImage3D) = (PFNGLTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCopyTexSubImage3D) = (PFNGLCOPYTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCopyTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glCopyTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1d) = (PFNGLMULTITEXCOORD1DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1dv) = (PFNGLMULTITEXCOORD1DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1f) = (PFNGLMULTITEXCOORD1FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1fv) = (PFNGLMULTITEXCOORD1FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1i) = (PFNGLMULTITEXCOORD1IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1iv) = (PFNGLMULTITEXCOORD1IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1s) = (PFNGLMULTITEXCOORD1SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord1sv) = (PFNGLMULTITEXCOORD1SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord1sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2d) = (PFNGLMULTITEXCOORD2DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2dv) = (PFNGLMULTITEXCOORD2DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2f) = (PFNGLMULTITEXCOORD2FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2fv) = (PFNGLMULTITEXCOORD2FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2i) = (PFNGLMULTITEXCOORD2IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2iv) = (PFNGLMULTITEXCOORD2IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2s) = (PFNGLMULTITEXCOORD2SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord2sv) = (PFNGLMULTITEXCOORD2SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord2sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3d) = (PFNGLMULTITEXCOORD3DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3dv) = (PFNGLMULTITEXCOORD3DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3f) = (PFNGLMULTITEXCOORD3FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3fv) = (PFNGLMULTITEXCOORD3FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3i) = (PFNGLMULTITEXCOORD3IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3iv) = (PFNGLMULTITEXCOORD3IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3s) = (PFNGLMULTITEXCOORD3SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord3sv) = (PFNGLMULTITEXCOORD3SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord3sv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4d) = (PFNGLMULTITEXCOORD4DPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4d");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4d))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4dv) = (PFNGLMULTITEXCOORD4DVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4dv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4dv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4f) = (PFNGLMULTITEXCOORD4FPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4f");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4f))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4fv) = (PFNGLMULTITEXCOORD4FVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4fv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4fv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4i) = (PFNGLMULTITEXCOORD4IPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4i");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4i))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4iv) = (PFNGLMULTITEXCOORD4IVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4iv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4iv))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4s) = (PFNGLMULTITEXCOORD4SPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4s");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4s))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiTexCoord4sv) = (PFNGLMULTITEXCOORD4SVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4sv");
        if (NULL == GLH_CORE_NAME(glMultiTexCoord4sv))
            return GL_FALSE;
        GLH_CORE_NAME(glActiveTexture) = (PFNGLACTIVETEXTUREPROC)GLH_EXT_GET_PROC_ADDRESS("glActiveTexture");
        if (NULL == GLH_CORE_NAME(glActiveTexture))
            return GL_FALSE;
        GLH_CORE_NAME(glClientActiveTexture) = (PFNGLCLIENTACTIVETEXTUREPROC)GLH_EXT_GET_PROC_ADDRESS("glClientActiveTexture");
        if (NULL == GLH_CORE_NAME(glClientActiveTexture))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexImage3D) = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage3D");
        if (NULL == GLH_CORE_NAME(glCompressedTexImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexImage2D) = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage2D");
        if (NULL == GLH_CORE_NAME(glCompressedTexImage2D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexImage1D) = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage1D");
        if (NULL == GLH_CORE_NAME(glCompressedTexImage1D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexSubImage3D) = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage3D");
        if (NULL == GLH_CORE_NAME(glCompressedTexSubImage3D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexSubImage2D) = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage2D");
        if (NULL == GLH_CORE_NAME(glCompressedTexSubImage2D))
            return GL_FALSE;
        GLH_CORE_NAME(glCompressedTexSubImage1D) = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage1D");
        if (NULL == GLH_CORE_NAME(glCompressedTexSubImage1D))
            return GL_FALSE;
        GLH_CORE_NAME(glGetCompressedTexImage) = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCompressedTexImage");
        if (NULL == GLH_CORE_NAME(glGetCompressedTexImage))
            return GL_FALSE;
        GLH_CORE_NAME(glSampleCoverage) = (PFNGLSAMPLECOVERAGEPROC)GLH_EXT_GET_PROC_ADDRESS("glSampleCoverage");
        if (NULL == GLH_CORE_NAME(glSampleCoverage))
            return GL_FALSE;
        GLH_CORE_NAME(glLoadTransposeMatrixf) = (PFNGLLOADTRANSPOSEMATRIXFPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixf");
        if (NULL == GLH_CORE_NAME(glLoadTransposeMatrixf))
            return GL_FALSE;
        GLH_CORE_NAME(glLoadTransposeMatrixd) = (PFNGLLOADTRANSPOSEMATRIXDPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixd");
        if (NULL == GLH_CORE_NAME(glLoadTransposeMatrixd))
            return GL_FALSE;
        GLH_CORE_NAME(glMultTransposeMatrixf) = (PFNGLMULTTRANSPOSEMATRIXFPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixf");
        if (NULL == GLH_CORE_NAME(glMultTransposeMatrixf))
            return GL_FALSE;
        GLH_CORE_NAME(glMultTransposeMatrixd) = (PFNGLMULTTRANSPOSEMATRIXDPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixd");
        if (NULL == GLH_CORE_NAME(glMultTransposeMatrixd))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiDrawArrays) = (PFNGLMULTIDRAWARRAYSPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiDrawArrays");
        if (NULL == GLH_CORE_NAME(glMultiDrawArrays))
            return GL_FALSE;
        GLH_CORE_NAME(glMultiDrawElements) = (PFNGLMULTIDRAWELEMENTSPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiDrawElements");
        if (NULL == GLH_CORE_NAME(glMultiDrawElements))
            return GL_FALSE;
        GLH_CORE_NAME(glPointParameterf) = (PFNGLPOINTPARAMETERFPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterf");
        if (NULL == GLH_CORE_NAME(glPointParameterf))
            return GL_FALSE;
        GLH_CORE_NAME(glPointParameterfv) = (PFNGLPOINTPARAMETERFVPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterfv");
        if (NULL == GLH_CORE_NAME(glPointParameterfv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3b) = (PFNGLSECONDARYCOLOR3BPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3b");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3b))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3bv) = (PFNGLSECONDARYCOLOR3BVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3bv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3bv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3d) = (PFNGLSECONDARYCOLOR3DPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3d");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3d))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3dv) = (PFNGLSECONDARYCOLOR3DVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3dv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3dv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3f) = (PFNGLSECONDARYCOLOR3FPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3f");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3f))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3fv) = (PFNGLSECONDARYCOLOR3FVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3fv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3fv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3i) = (PFNGLSECONDARYCOLOR3IPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3i");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3i))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3iv) = (PFNGLSECONDARYCOLOR3IVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3iv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3iv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3s) = (PFNGLSECONDARYCOLOR3SPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3s");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3s))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3sv) = (PFNGLSECONDARYCOLOR3SVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3sv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3sv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3ub) = (PFNGLSECONDARYCOLOR3UBPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ub");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3ub))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3ubv) = (PFNGLSECONDARYCOLOR3UBVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ubv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3ubv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3ui) = (PFNGLSECONDARYCOLOR3UIPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ui");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3ui))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3uiv) = (PFNGLSECONDARYCOLOR3UIVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3uiv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3uiv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3us) = (PFNGLSECONDARYCOLOR3USPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3us");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3us))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColor3usv) = (PFNGLSECONDARYCOLOR3USVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3usv");
        if (NULL == GLH_CORE_NAME(glSecondaryColor3usv))
            return GL_FALSE;
        GLH_CORE_NAME(glSecondaryColorPointer) = (PFNGLSECONDARYCOLORPOINTERPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColorPointer");
        if (NULL == GLH_CORE_NAME(glSecondaryColorPointer))
            return GL_FALSE;
        GLH_CORE_NAME(glBlendFuncSeparate) = (PFNGLBLENDFUNCSEPARATEPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendFuncSeparate");
        if (NULL == GLH_CORE_NAME(glBlendFuncSeparate))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2d) = (PFNGLWINDOWPOS2DPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2d");
        if (NULL == GLH_CORE_NAME(glWindowPos2d))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2f) = (PFNGLWINDOWPOS2FPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2f");
        if (NULL == GLH_CORE_NAME(glWindowPos2f))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2i) = (PFNGLWINDOWPOS2IPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2i");
        if (NULL == GLH_CORE_NAME(glWindowPos2i))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2s) = (PFNGLWINDOWPOS2SPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2s");
        if (NULL == GLH_CORE_NAME(glWindowPos2s))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2dv) = (PFNGLWINDOWPOS2DVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2dv");
        if (NULL == GLH_CORE_NAME(glWindowPos2dv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2fv) = (PFNGLWINDOWPOS2FVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2fv");
        if (NULL == GLH_CORE_NAME(glWindowPos2fv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2iv) = (PFNGLWINDOWPOS2IVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2iv");
        if (NULL == GLH_CORE_NAME(glWindowPos2iv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos2sv) = (PFNGLWINDOWPOS2SVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2sv");
        if (NULL == GLH_CORE_NAME(glWindowPos2sv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3d) = (PFNGLWINDOWPOS3DPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3d");
        if (NULL == GLH_CORE_NAME(glWindowPos3d))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3f) = (PFNGLWINDOWPOS3FPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3f");
        if (NULL == GLH_CORE_NAME(glWindowPos3f))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3i) = (PFNGLWINDOWPOS3IPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3i");
        if (NULL == GLH_CORE_NAME(glWindowPos3i))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3s) = (PFNGLWINDOWPOS3SPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3s");
        if (NULL == GLH_CORE_NAME(glWindowPos3s))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3dv) = (PFNGLWINDOWPOS3DVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3dv");
        if (NULL == GLH_CORE_NAME(glWindowPos3dv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3fv) = (PFNGLWINDOWPOS3FVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3fv");
        if (NULL == GLH_CORE_NAME(glWindowPos3fv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3iv) = (PFNGLWINDOWPOS3IVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3iv");
        if (NULL == GLH_CORE_NAME(glWindowPos3iv))
            return GL_FALSE;
        GLH_CORE_NAME(glWindowPos3sv) = (PFNGLWINDOWPOS3SVPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3sv");
        if (NULL == GLH_CORE_NAME(glWindowPos3sv))
            return GL_FALSE;
        GLH_CORE_NAME(glGenQueries) = (PFNGLGENQUERIESPROC)GLH_EXT_GET_PROC_ADDRESS("glGenQueries");
        if (NULL == GLH_CORE_NAME(glGenQueries))
            return GL_FALSE;
        GLH_CORE_NAME(glDeleteQueries) = (PFNGLDELETEQUERIESPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteQueries");
        if (NULL == GLH_CORE_NAME(glDeleteQueries))
            return GL_FALSE;
        GLH_CORE_NAME(glIsQuery) = (PFNGLISQUERYPROC)GLH_EXT_GET_PROC_ADDRESS("glIsQuery");
        if (NULL == GLH_CORE_NAME(glIsQuery))
            return GL_FALSE;
        GLH_CORE_NAME(glBeginQuery) = (PFNGLBEGINQUERYPROC)GLH_EXT_GET_PROC_ADDRESS("glBeginQuery");
        if (NULL == GLH_CORE_NAME(glBeginQuery))
            return GL_FALSE;
        GLH_CORE_NAME(glEndQuery) = (PFNGLENDQUERYPROC)GLH_EXT_GET_PROC_ADDRESS("glEndQuery");
        if (NULL == GLH_CORE_NAME(glEndQuery))
            return GL_FALSE;
        GLH_CORE_NAME(glGetQueryiv) = (PFNGLGETQUERYIVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetQueryiv");
        if (NULL == GLH_CORE_NAME(glGetQueryiv))
            return GL_FALSE;
        GLH_CORE_NAME(glGetQueryObjectiv) = (PFNGLGETQUERYOBJECTIVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetQueryObjectiv");
        if (NULL == GLH_CORE_NAME(glGetQueryObjectiv))
            return GL_FALSE;
        GLH_CORE_NAME(glGetQueryObjectuiv) = (PFNGLGETQUERYOBJECTUIVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetQueryObjectuiv");
        if (NULL == GLH_CORE_NAME(glGetQueryObjectuiv))
            return GL_FALSE;
        GLH_CORE_NAME(glBindBuffer) = (PFNGLBINDBUFFERPROC)GLH_EXT_GET_PROC_ADDRESS("glBindBuffer");
        if (NULL == GLH_CORE_NAME(glBindBuffer))
            return GL_FALSE;
        GLH_CORE_NAME(glDeleteBuffers) = (PFNGLDELETEBUFFERSPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteBuffers");
        if (NULL == GLH_CORE_NAME(glDeleteBuffers))
            return GL_FALSE;
        GLH_CORE_NAME(glGenBuffers) = (PFNGLGENBUFFERSPROC)GLH_EXT_GET_PROC_ADDRESS("glGenBuffers");
        if (NULL == GLH_CORE_NAME(glGenBuffers))
            return GL_FALSE;
        GLH_CORE_NAME(glIsBuffer) = (PFNGLISBUFFERPROC)GLH_EXT_GET_PROC_ADDRESS("glIsBuffer");
        if (NULL == GLH_CORE_NAME(glIsBuffer))
            return GL_FALSE;
        GLH_CORE_NAME(glBufferData) = (PFNGLBUFFERDATAPROC)GLH_EXT_GET_PROC_ADDRESS("glBufferData");
        if (NULL == GLH_CORE_NAME(glBufferData))
            return GL_FALSE;
        GLH_CORE_NAME(glBufferSubData) = (PFNGLBUFFERSUBDATAPROC)GLH_EXT_GET_PROC_ADDRESS("glBufferSubData");
        if (NULL == GLH_CORE_NAME(glBufferSubData))
            return GL_FALSE;
        GLH_CORE_NAME(glGetBufferSubData) = (PFNGLGETBUFFERSUBDATAPROC)GLH_EXT_GET_PROC_ADDRESS("glGetBufferSubData");
        if (NULL == GLH_CORE_NAME(glGetBufferSubData))
            return GL_FALSE;
        GLH_CORE_NAME(glMapBuffer) = (PFNGLMAPBUFFERPROC)GLH_EXT_GET_PROC_ADDRESS("glMapBuffer");
        if (NULL == GLH_CORE_NAME(glMapBuffer))
            return GL_FALSE;
        GLH_CORE_NAME(glUnmapBuffer) = (PFNGLUNMAPBUFFERPROC)GLH_EXT_GET_PROC_ADDRESS("glUnmapBuffer");
        if (NULL == GLH_CORE_NAME(glUnmapBuffer))
            return GL_FALSE;
        GLH_CORE_NAME(glGetBufferParameteriv) = (PFNGLGETBUFFERPARAMETERIVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetBufferParameteriv");
        if (NULL == GLH_CORE_NAME(glGetBufferParameteriv))
            return GL_FALSE;
        GLH_CORE_NAME(glGetBufferPointerv) = (PFNGLGETBUFFERPOINTERVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetBufferPointerv");
        if (NULL == GLH_CORE_NAME(glGetBufferPointerv))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif
#endif

#ifdef GL_ARB_depth_texture
    if (0 == strcmp(extension, "GL_ARB_depth_texture")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_fragment_program
    if (0 == strcmp(extension, "GL_ARB_fragment_program")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_fragment_program_shadow
    if (0 == strcmp(extension, "GL_ARB_fragment_program_shadow")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_fragment_shader
    if (0 == strcmp(extension, "GL_ARB_fragment_shader")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_matrix_palette
    if (0 == strcmp(extension, "GL_ARB_matrix_palette")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_multisample
    if (0 == strcmp(extension, "GL_ARB_multisample")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_multitexture
    if (0 == strcmp(extension, "GL_ARB_multitexture")) {
        GLH_EXT_NAME(glMultiTexCoord1dARB) = (PFNGLMULTITEXCOORD1DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1dARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord1dvARB) = (PFNGLMULTITEXCOORD1DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1dvARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord1fARB) = (PFNGLMULTITEXCOORD1FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1fARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord1fvARB) = (PFNGLMULTITEXCOORD1FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1fvARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord1iARB) = (PFNGLMULTITEXCOORD1IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1iARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord1ivARB) = (PFNGLMULTITEXCOORD1IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1ivARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord1sARB) = (PFNGLMULTITEXCOORD1SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1sARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord1svARB) = (PFNGLMULTITEXCOORD1SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1svARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1svARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2dARB) = (PFNGLMULTITEXCOORD2DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2dARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2dvARB) = (PFNGLMULTITEXCOORD2DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2dvARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2fARB) = (PFNGLMULTITEXCOORD2FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2fARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2fvARB) = (PFNGLMULTITEXCOORD2FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2fvARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2iARB) = (PFNGLMULTITEXCOORD2IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2iARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2ivARB) = (PFNGLMULTITEXCOORD2IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2ivARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2sARB) = (PFNGLMULTITEXCOORD2SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2sARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2svARB) = (PFNGLMULTITEXCOORD2SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2svARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2svARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3dARB) = (PFNGLMULTITEXCOORD3DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3dARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3dvARB) = (PFNGLMULTITEXCOORD3DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3dvARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3fARB) = (PFNGLMULTITEXCOORD3FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3fARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3fvARB) = (PFNGLMULTITEXCOORD3FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3fvARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3iARB) = (PFNGLMULTITEXCOORD3IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3iARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3ivARB) = (PFNGLMULTITEXCOORD3IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3ivARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3sARB) = (PFNGLMULTITEXCOORD3SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3sARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3svARB) = (PFNGLMULTITEXCOORD3SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3svARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3svARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4dARB) = (PFNGLMULTITEXCOORD4DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4dARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4dvARB) = (PFNGLMULTITEXCOORD4DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4dvARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4fARB) = (PFNGLMULTITEXCOORD4FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4fARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4fvARB) = (PFNGLMULTITEXCOORD4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4fvARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4iARB) = (PFNGLMULTITEXCOORD4IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4iARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4ivARB) = (PFNGLMULTITEXCOORD4IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4ivARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4sARB) = (PFNGLMULTITEXCOORD4SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4sARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4svARB) = (PFNGLMULTITEXCOORD4SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4svARB");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4svARB))
            return GL_FALSE;
        GLH_EXT_NAME(glActiveTextureARB) = (PFNGLACTIVETEXTUREARBPROC)GLH_EXT_GET_PROC_ADDRESS("glActiveTextureARB");
        if (NULL == GLH_EXT_NAME(glActiveTextureARB))
            return GL_FALSE;
        GLH_EXT_NAME(glClientActiveTextureARB) = (PFNGLCLIENTACTIVETEXTUREARBPROC)GLH_EXT_GET_PROC_ADDRESS("glClientActiveTextureARB");
        if (NULL == GLH_EXT_NAME(glClientActiveTextureARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_occlusion_query
    if (0 == strcmp(extension, "GL_ARB_occlusion_query")) {
        GLH_EXT_NAME(glGenQueriesARB) = (PFNGLGENQUERIESARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGenQueriesARB");
        if (NULL == GLH_EXT_NAME(glGenQueriesARB))
            return GL_FALSE;
        GLH_EXT_NAME(glDeleteQueriesARB) = (PFNGLDELETEQUERIESARBPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteQueriesARB");
        if (NULL == GLH_EXT_NAME(glDeleteQueriesARB))
            return GL_FALSE;
        GLH_EXT_NAME(glIsQueryARB) = (PFNGLISQUERYARBPROC)GLH_EXT_GET_PROC_ADDRESS("glIsQueryARB");
        if (NULL == GLH_EXT_NAME(glIsQueryARB))
            return GL_FALSE;
        GLH_EXT_NAME(glBeginQueryARB) = (PFNGLBEGINQUERYARBPROC)GLH_EXT_GET_PROC_ADDRESS("glBeginQueryARB");
        if (NULL == GLH_EXT_NAME(glBeginQueryARB))
            return GL_FALSE;
        GLH_EXT_NAME(glEndQueryARB) = (PFNGLENDQUERYARBPROC)GLH_EXT_GET_PROC_ADDRESS("glEndQueryARB");
        if (NULL == GLH_EXT_NAME(glEndQueryARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetQueryivARB) = (PFNGLGETQUERYIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetQueryivARB");
        if (NULL == GLH_EXT_NAME(glGetQueryivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetQueryObjectivARB) = (PFNGLGETQUERYOBJECTIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetQueryObjectivARB");
        if (NULL == GLH_EXT_NAME(glGetQueryObjectivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetQueryObjectuivARB) = (PFNGLGETQUERYOBJECTUIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetQueryObjectuivARB");
        if (NULL == GLH_EXT_NAME(glGetQueryObjectuivARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_point_parameters
    if (0 == strcmp(extension, "GL_ARB_point_parameters")) {
        GLH_EXT_NAME(glPointParameterfARB) = (PFNGLPOINTPARAMETERFARBPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterfARB");
        if (NULL == GLH_EXT_NAME(glPointParameterfARB))
            return GL_FALSE;
        GLH_EXT_NAME(glPointParameterfvARB) = (PFNGLPOINTPARAMETERFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterfvARB");
        if (NULL == GLH_EXT_NAME(glPointParameterfvARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_point_sprite
    if (0 == strcmp(extension, "GL_ARB_point_sprite")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_shader_objects
    if (0 == strcmp(extension, "GL_ARB_shader_objects")) {
        GLH_EXT_NAME(glDeleteObjectARB) = (PFNGLDELETEOBJECTARBPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteObjectARB");
        if (NULL == GLH_EXT_NAME(glDeleteObjectARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetHandleARB) = (PFNGLGETHANDLEARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetHandleARB");
        if (NULL == GLH_EXT_NAME(glGetHandleARB))
            return GL_FALSE;
        GLH_EXT_NAME(glDetachObjectARB) = (PFNGLDETACHOBJECTARBPROC)GLH_EXT_GET_PROC_ADDRESS("glDetachObjectARB");
        if (NULL == GLH_EXT_NAME(glDetachObjectARB))
            return GL_FALSE;
        GLH_EXT_NAME(glCreateShaderObjectARB) = (PFNGLCREATESHADEROBJECTARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCreateShaderObjectARB");
        if (NULL == GLH_EXT_NAME(glCreateShaderObjectARB))
            return GL_FALSE;
        GLH_EXT_NAME(glShaderSourceARB) = (PFNGLSHADERSOURCEARBPROC)GLH_EXT_GET_PROC_ADDRESS("glShaderSourceARB");
        if (NULL == GLH_EXT_NAME(glShaderSourceARB))
            return GL_FALSE;
        GLH_EXT_NAME(glCompileShaderARB) = (PFNGLCOMPILESHADERARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompileShaderARB");
        if (NULL == GLH_EXT_NAME(glCompileShaderARB))
            return GL_FALSE;
        GLH_EXT_NAME(glCreateProgramObjectARB) = (PFNGLCREATEPROGRAMOBJECTARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCreateProgramObjectARB");
        if (NULL == GLH_EXT_NAME(glCreateProgramObjectARB))
            return GL_FALSE;
        GLH_EXT_NAME(glAttachObjectARB) = (PFNGLATTACHOBJECTARBPROC)GLH_EXT_GET_PROC_ADDRESS("glAttachObjectARB");
        if (NULL == GLH_EXT_NAME(glAttachObjectARB))
            return GL_FALSE;
        GLH_EXT_NAME(glLinkProgramARB) = (PFNGLLINKPROGRAMARBPROC)GLH_EXT_GET_PROC_ADDRESS("glLinkProgramARB");
        if (NULL == GLH_EXT_NAME(glLinkProgramARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUseProgramObjectARB) = (PFNGLUSEPROGRAMOBJECTARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUseProgramObjectARB");
        if (NULL == GLH_EXT_NAME(glUseProgramObjectARB))
            return GL_FALSE;
        GLH_EXT_NAME(glValidateProgramARB) = (PFNGLVALIDATEPROGRAMARBPROC)GLH_EXT_GET_PROC_ADDRESS("glValidateProgramARB");
        if (NULL == GLH_EXT_NAME(glValidateProgramARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform1fARB) = (PFNGLUNIFORM1FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform1fARB");
        if (NULL == GLH_EXT_NAME(glUniform1fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform2fARB) = (PFNGLUNIFORM2FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform2fARB");
        if (NULL == GLH_EXT_NAME(glUniform2fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform3fARB) = (PFNGLUNIFORM3FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform3fARB");
        if (NULL == GLH_EXT_NAME(glUniform3fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform4fARB) = (PFNGLUNIFORM4FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform4fARB");
        if (NULL == GLH_EXT_NAME(glUniform4fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform1iARB) = (PFNGLUNIFORM1IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform1iARB");
        if (NULL == GLH_EXT_NAME(glUniform1iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform2iARB) = (PFNGLUNIFORM2IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform2iARB");
        if (NULL == GLH_EXT_NAME(glUniform2iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform3iARB) = (PFNGLUNIFORM3IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform3iARB");
        if (NULL == GLH_EXT_NAME(glUniform3iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform4iARB) = (PFNGLUNIFORM4IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform4iARB");
        if (NULL == GLH_EXT_NAME(glUniform4iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform1fvARB) = (PFNGLUNIFORM1FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform1fvARB");
        if (NULL == GLH_EXT_NAME(glUniform1fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform2fvARB) = (PFNGLUNIFORM2FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform2fvARB");
        if (NULL == GLH_EXT_NAME(glUniform2fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform3fvARB) = (PFNGLUNIFORM3FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform3fvARB");
        if (NULL == GLH_EXT_NAME(glUniform3fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform4fvARB) = (PFNGLUNIFORM4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform4fvARB");
        if (NULL == GLH_EXT_NAME(glUniform4fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform1ivARB) = (PFNGLUNIFORM1IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform1ivARB");
        if (NULL == GLH_EXT_NAME(glUniform1ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform2ivARB) = (PFNGLUNIFORM2IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform2ivARB");
        if (NULL == GLH_EXT_NAME(glUniform2ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform3ivARB) = (PFNGLUNIFORM3IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform3ivARB");
        if (NULL == GLH_EXT_NAME(glUniform3ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniform4ivARB) = (PFNGLUNIFORM4IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniform4ivARB");
        if (NULL == GLH_EXT_NAME(glUniform4ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniformMatrix2fvARB) = (PFNGLUNIFORMMATRIX2FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniformMatrix2fvARB");
        if (NULL == GLH_EXT_NAME(glUniformMatrix2fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniformMatrix3fvARB) = (PFNGLUNIFORMMATRIX3FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniformMatrix3fvARB");
        if (NULL == GLH_EXT_NAME(glUniformMatrix3fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUniformMatrix4fvARB) = (PFNGLUNIFORMMATRIX4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUniformMatrix4fvARB");
        if (NULL == GLH_EXT_NAME(glUniformMatrix4fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetObjectParameterfvARB) = (PFNGLGETOBJECTPARAMETERFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetObjectParameterfvARB");
        if (NULL == GLH_EXT_NAME(glGetObjectParameterfvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetObjectParameterivARB) = (PFNGLGETOBJECTPARAMETERIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetObjectParameterivARB");
        if (NULL == GLH_EXT_NAME(glGetObjectParameterivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetInfoLogARB) = (PFNGLGETINFOLOGARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetInfoLogARB");
        if (NULL == GLH_EXT_NAME(glGetInfoLogARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetAttachedObjectsARB) = (PFNGLGETATTACHEDOBJECTSARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetAttachedObjectsARB");
        if (NULL == GLH_EXT_NAME(glGetAttachedObjectsARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetUniformLocationARB) = (PFNGLGETUNIFORMLOCATIONARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetUniformLocationARB");
        if (NULL == GLH_EXT_NAME(glGetUniformLocationARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetActiveUniformARB) = (PFNGLGETACTIVEUNIFORMARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetActiveUniformARB");
        if (NULL == GLH_EXT_NAME(glGetActiveUniformARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetUniformfvARB) = (PFNGLGETUNIFORMFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetUniformfvARB");
        if (NULL == GLH_EXT_NAME(glGetUniformfvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetUniformivARB) = (PFNGLGETUNIFORMIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetUniformivARB");
        if (NULL == GLH_EXT_NAME(glGetUniformivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetShaderSourceARB) = (PFNGLGETSHADERSOURCEARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetShaderSourceARB");
        if (NULL == GLH_EXT_NAME(glGetShaderSourceARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_shadow
    if (0 == strcmp(extension, "GL_ARB_shadow")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_shadow_ambient
    if (0 == strcmp(extension, "GL_ARB_shadow_ambient")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_texture_border_clamp
    if (0 == strcmp(extension, "GL_ARB_texture_border_clamp")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_texture_compression
    if (0 == strcmp(extension, "GL_ARB_texture_compression")) {
        GLH_EXT_NAME(glCompressedTexImage3DARB) = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage3DARB");
        if (NULL == GLH_EXT_NAME(glCompressedTexImage3DARB))
            return GL_FALSE;
        GLH_EXT_NAME(glCompressedTexImage2DARB) = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage2DARB");
        if (NULL == GLH_EXT_NAME(glCompressedTexImage2DARB))
            return GL_FALSE;
        GLH_EXT_NAME(glCompressedTexImage1DARB) = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexImage1DARB");
        if (NULL == GLH_EXT_NAME(glCompressedTexImage1DARB))
            return GL_FALSE;
        GLH_EXT_NAME(glCompressedTexSubImage3DARB) = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage3DARB");
        if (NULL == GLH_EXT_NAME(glCompressedTexSubImage3DARB))
            return GL_FALSE;
        GLH_EXT_NAME(glCompressedTexSubImage2DARB) = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage2DARB");
        if (NULL == GLH_EXT_NAME(glCompressedTexSubImage2DARB))
            return GL_FALSE;
        GLH_EXT_NAME(glCompressedTexSubImage1DARB) = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glCompressedTexSubImage1DARB");
        if (NULL == GLH_EXT_NAME(glCompressedTexSubImage1DARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetCompressedTexImageARB) = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCompressedTexImageARB");
        if (NULL == GLH_EXT_NAME(glGetCompressedTexImageARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_texture_cube_map
    if (0 == strcmp(extension, "GL_ARB_texture_cube_map")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_texture_env_add
    if (0 == strcmp(extension, "GL_ARB_texture_env_add")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_texture_env_combine
    if (0 == strcmp(extension, "GL_ARB_texture_env_combine")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_texture_env_dot3
    if (0 == strcmp(extension, "GL_ARB_texture_env_dot3")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_texture_mirrored_repeat
    if (0 == strcmp(extension, "GL_ARB_texture_mirrored_repeat")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_texture_non_power_of_two
    if (0 == strcmp(extension, "GL_ARB_texture_non_power_of_two")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_texture_rectangle
    if (0 == strcmp(extension, "GL_ARB_texture_rectangle")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_transpose_matrix
    if (0 == strcmp(extension, "GL_ARB_transpose_matrix")) {
        GLH_EXT_NAME(glLoadTransposeMatrixfARB) = (PFNGLLOADTRANSPOSEMATRIXFARBPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixfARB");
        if (NULL == GLH_EXT_NAME(glLoadTransposeMatrixfARB))
            return GL_FALSE;
        GLH_EXT_NAME(glLoadTransposeMatrixdARB) = (PFNGLLOADTRANSPOSEMATRIXDARBPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadTransposeMatrixdARB");
        if (NULL == GLH_EXT_NAME(glLoadTransposeMatrixdARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultTransposeMatrixfARB) = (PFNGLMULTTRANSPOSEMATRIXFARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixfARB");
        if (NULL == GLH_EXT_NAME(glMultTransposeMatrixfARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMultTransposeMatrixdARB) = (PFNGLMULTTRANSPOSEMATRIXDARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMultTransposeMatrixdARB");
        if (NULL == GLH_EXT_NAME(glMultTransposeMatrixdARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_vertex_buffer_object
    if (0 == strcmp(extension, "GL_ARB_vertex_buffer_object")) {
        GLH_EXT_NAME(glBindBufferARB) = (PFNGLBINDBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("glBindBufferARB");
        if (NULL == GLH_EXT_NAME(glBindBufferARB))
            return GL_FALSE;
        GLH_EXT_NAME(glDeleteBuffersARB) = (PFNGLDELETEBUFFERSARBPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteBuffersARB");
        if (NULL == GLH_EXT_NAME(glDeleteBuffersARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGenBuffersARB) = (PFNGLGENBUFFERSARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGenBuffersARB");
        if (NULL == GLH_EXT_NAME(glGenBuffersARB))
            return GL_FALSE;
        GLH_EXT_NAME(glIsBufferARB) = (PFNGLISBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("glIsBufferARB");
        if (NULL == GLH_EXT_NAME(glIsBufferARB))
            return GL_FALSE;
        GLH_EXT_NAME(glBufferDataARB) = (PFNGLBUFFERDATAARBPROC)GLH_EXT_GET_PROC_ADDRESS("glBufferDataARB");
        if (NULL == GLH_EXT_NAME(glBufferDataARB))
            return GL_FALSE;
        GLH_EXT_NAME(glBufferSubDataARB) = (PFNGLBUFFERSUBDATAARBPROC)GLH_EXT_GET_PROC_ADDRESS("glBufferSubDataARB");
        if (NULL == GLH_EXT_NAME(glBufferSubDataARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetBufferSubDataARB) = (PFNGLGETBUFFERSUBDATAARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetBufferSubDataARB");
        if (NULL == GLH_EXT_NAME(glGetBufferSubDataARB))
            return GL_FALSE;
        GLH_EXT_NAME(glMapBufferARB) = (PFNGLMAPBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("glMapBufferARB");
        if (NULL == GLH_EXT_NAME(glMapBufferARB))
            return GL_FALSE;
        GLH_EXT_NAME(glUnmapBufferARB) = (PFNGLUNMAPBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("glUnmapBufferARB");
        if (NULL == GLH_EXT_NAME(glUnmapBufferARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetBufferParameterivARB) = (PFNGLGETBUFFERPARAMETERIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetBufferParameterivARB");
        if (NULL == GLH_EXT_NAME(glGetBufferParameterivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetBufferPointervARB) = (PFNGLGETBUFFERPOINTERVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetBufferPointervARB");
        if (NULL == GLH_EXT_NAME(glGetBufferPointervARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_vertex_program
    if (0 == strcmp(extension, "GL_ARB_vertex_program")) {
        GLH_EXT_NAME(glVertexAttrib1sARB) = (PFNGLVERTEXATTRIB1SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1sARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1fARB) = (PFNGLVERTEXATTRIB1FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1fARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1dARB) = (PFNGLVERTEXATTRIB1DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1dARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2sARB) = (PFNGLVERTEXATTRIB2SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2sARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2fARB) = (PFNGLVERTEXATTRIB2FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2fARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2dARB) = (PFNGLVERTEXATTRIB2DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2dARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3sARB) = (PFNGLVERTEXATTRIB3SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3sARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3fARB) = (PFNGLVERTEXATTRIB3FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3fARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3dARB) = (PFNGLVERTEXATTRIB3DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3dARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4sARB) = (PFNGLVERTEXATTRIB4SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4sARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4fARB) = (PFNGLVERTEXATTRIB4FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4fARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4dARB) = (PFNGLVERTEXATTRIB4DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4dARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4NubARB) = (PFNGLVERTEXATTRIB4NUBARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NubARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4NubARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1svARB) = (PFNGLVERTEXATTRIB1SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1svARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1svARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1fvARB) = (PFNGLVERTEXATTRIB1FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1fvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1dvARB) = (PFNGLVERTEXATTRIB1DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1dvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2svARB) = (PFNGLVERTEXATTRIB2SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2svARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2svARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2fvARB) = (PFNGLVERTEXATTRIB2FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2fvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2dvARB) = (PFNGLVERTEXATTRIB2DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2dvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3svARB) = (PFNGLVERTEXATTRIB3SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3svARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3svARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3fvARB) = (PFNGLVERTEXATTRIB3FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3fvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3dvARB) = (PFNGLVERTEXATTRIB3DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3dvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4bvARB) = (PFNGLVERTEXATTRIB4BVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4bvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4bvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4svARB) = (PFNGLVERTEXATTRIB4SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4svARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4svARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4ivARB) = (PFNGLVERTEXATTRIB4IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4ivARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4ubvARB) = (PFNGLVERTEXATTRIB4UBVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4ubvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4ubvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4usvARB) = (PFNGLVERTEXATTRIB4USVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4usvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4usvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4uivARB) = (PFNGLVERTEXATTRIB4UIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4uivARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4uivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4fvARB) = (PFNGLVERTEXATTRIB4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4fvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4dvARB) = (PFNGLVERTEXATTRIB4DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4dvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4NbvARB) = (PFNGLVERTEXATTRIB4NBVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NbvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4NbvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4NsvARB) = (PFNGLVERTEXATTRIB4NSVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NsvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4NsvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4NivARB) = (PFNGLVERTEXATTRIB4NIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NivARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4NivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4NubvARB) = (PFNGLVERTEXATTRIB4NUBVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NubvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4NubvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4NusvARB) = (PFNGLVERTEXATTRIB4NUSVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NusvARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4NusvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4NuivARB) = (PFNGLVERTEXATTRIB4NUIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4NuivARB");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4NuivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribPointerARB) = (PFNGLVERTEXATTRIBPOINTERARBPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribPointerARB");
        if (NULL == GLH_EXT_NAME(glVertexAttribPointerARB))
            return GL_FALSE;
        GLH_EXT_NAME(glEnableVertexAttribArrayARB) = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)GLH_EXT_GET_PROC_ADDRESS("glEnableVertexAttribArrayARB");
        if (NULL == GLH_EXT_NAME(glEnableVertexAttribArrayARB))
            return GL_FALSE;
        GLH_EXT_NAME(glDisableVertexAttribArrayARB) = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)GLH_EXT_GET_PROC_ADDRESS("glDisableVertexAttribArrayARB");
        if (NULL == GLH_EXT_NAME(glDisableVertexAttribArrayARB))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramStringARB) = (PFNGLPROGRAMSTRINGARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramStringARB");
        if (NULL == GLH_EXT_NAME(glProgramStringARB))
            return GL_FALSE;
        GLH_EXT_NAME(glBindProgramARB) = (PFNGLBINDPROGRAMARBPROC)GLH_EXT_GET_PROC_ADDRESS("glBindProgramARB");
        if (NULL == GLH_EXT_NAME(glBindProgramARB))
            return GL_FALSE;
        GLH_EXT_NAME(glDeleteProgramsARB) = (PFNGLDELETEPROGRAMSARBPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteProgramsARB");
        if (NULL == GLH_EXT_NAME(glDeleteProgramsARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGenProgramsARB) = (PFNGLGENPROGRAMSARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGenProgramsARB");
        if (NULL == GLH_EXT_NAME(glGenProgramsARB))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramEnvParameter4dARB) = (PFNGLPROGRAMENVPARAMETER4DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramEnvParameter4dARB");
        if (NULL == GLH_EXT_NAME(glProgramEnvParameter4dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramEnvParameter4dvARB) = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramEnvParameter4dvARB");
        if (NULL == GLH_EXT_NAME(glProgramEnvParameter4dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramEnvParameter4fARB) = (PFNGLPROGRAMENVPARAMETER4FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramEnvParameter4fARB");
        if (NULL == GLH_EXT_NAME(glProgramEnvParameter4fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramEnvParameter4fvARB) = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramEnvParameter4fvARB");
        if (NULL == GLH_EXT_NAME(glProgramEnvParameter4fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramLocalParameter4dARB) = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramLocalParameter4dARB");
        if (NULL == GLH_EXT_NAME(glProgramLocalParameter4dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramLocalParameter4dvARB) = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramLocalParameter4dvARB");
        if (NULL == GLH_EXT_NAME(glProgramLocalParameter4dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramLocalParameter4fARB) = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramLocalParameter4fARB");
        if (NULL == GLH_EXT_NAME(glProgramLocalParameter4fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramLocalParameter4fvARB) = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramLocalParameter4fvARB");
        if (NULL == GLH_EXT_NAME(glProgramLocalParameter4fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramEnvParameterdvARB) = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramEnvParameterdvARB");
        if (NULL == GLH_EXT_NAME(glGetProgramEnvParameterdvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramEnvParameterfvARB) = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramEnvParameterfvARB");
        if (NULL == GLH_EXT_NAME(glGetProgramEnvParameterfvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramLocalParameterdvARB) = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramLocalParameterdvARB");
        if (NULL == GLH_EXT_NAME(glGetProgramLocalParameterdvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramLocalParameterfvARB) = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramLocalParameterfvARB");
        if (NULL == GLH_EXT_NAME(glGetProgramLocalParameterfvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramivARB) = (PFNGLGETPROGRAMIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramivARB");
        if (NULL == GLH_EXT_NAME(glGetProgramivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramStringARB) = (PFNGLGETPROGRAMSTRINGARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramStringARB");
        if (NULL == GLH_EXT_NAME(glGetProgramStringARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetVertexAttribdvARB) = (PFNGLGETVERTEXATTRIBDVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribdvARB");
        if (NULL == GLH_EXT_NAME(glGetVertexAttribdvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetVertexAttribfvARB) = (PFNGLGETVERTEXATTRIBFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribfvARB");
        if (NULL == GLH_EXT_NAME(glGetVertexAttribfvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetVertexAttribivARB) = (PFNGLGETVERTEXATTRIBIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribivARB");
        if (NULL == GLH_EXT_NAME(glGetVertexAttribivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetVertexAttribPointervARB) = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribPointervARB");
        if (NULL == GLH_EXT_NAME(glGetVertexAttribPointervARB))
            return GL_FALSE;
        GLH_EXT_NAME(glIsProgramARB) = (PFNGLISPROGRAMARBPROC)GLH_EXT_GET_PROC_ADDRESS("glIsProgramARB");
        if (NULL == GLH_EXT_NAME(glIsProgramARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_vertex_shader
    if (0 == strcmp(extension, "GL_ARB_vertex_shader")) {
        GLH_EXT_NAME(glBindAttribLocationARB) = (PFNGLBINDATTRIBLOCATIONARBPROC)GLH_EXT_GET_PROC_ADDRESS("glBindAttribLocationARB");
        if (NULL == GLH_EXT_NAME(glBindAttribLocationARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetActiveAttribARB) = (PFNGLGETACTIVEATTRIBARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetActiveAttribARB");
        if (NULL == GLH_EXT_NAME(glGetActiveAttribARB))
            return GL_FALSE;
        GLH_EXT_NAME(glGetAttribLocationARB) = (PFNGLGETATTRIBLOCATIONARBPROC)GLH_EXT_GET_PROC_ADDRESS("glGetAttribLocationARB");
        if (NULL == GLH_EXT_NAME(glGetAttribLocationARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ARB_window_pos
    if (0 == strcmp(extension, "GL_ARB_window_pos")) {
        GLH_EXT_NAME(glWindowPos2dARB) = (PFNGLWINDOWPOS2DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2dARB");
        if (NULL == GLH_EXT_NAME(glWindowPos2dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos2fARB) = (PFNGLWINDOWPOS2FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2fARB");
        if (NULL == GLH_EXT_NAME(glWindowPos2fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos2iARB) = (PFNGLWINDOWPOS2IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2iARB");
        if (NULL == GLH_EXT_NAME(glWindowPos2iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos2sARB) = (PFNGLWINDOWPOS2SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2sARB");
        if (NULL == GLH_EXT_NAME(glWindowPos2sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos2dvARB) = (PFNGLWINDOWPOS2DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2dvARB");
        if (NULL == GLH_EXT_NAME(glWindowPos2dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos2fvARB) = (PFNGLWINDOWPOS2FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2fvARB");
        if (NULL == GLH_EXT_NAME(glWindowPos2fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos2ivARB) = (PFNGLWINDOWPOS2IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2ivARB");
        if (NULL == GLH_EXT_NAME(glWindowPos2ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos2svARB) = (PFNGLWINDOWPOS2SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos2svARB");
        if (NULL == GLH_EXT_NAME(glWindowPos2svARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos3dARB) = (PFNGLWINDOWPOS3DARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3dARB");
        if (NULL == GLH_EXT_NAME(glWindowPos3dARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos3fARB) = (PFNGLWINDOWPOS3FARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3fARB");
        if (NULL == GLH_EXT_NAME(glWindowPos3fARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos3iARB) = (PFNGLWINDOWPOS3IARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3iARB");
        if (NULL == GLH_EXT_NAME(glWindowPos3iARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos3sARB) = (PFNGLWINDOWPOS3SARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3sARB");
        if (NULL == GLH_EXT_NAME(glWindowPos3sARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos3dvARB) = (PFNGLWINDOWPOS3DVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3dvARB");
        if (NULL == GLH_EXT_NAME(glWindowPos3dvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos3fvARB) = (PFNGLWINDOWPOS3FVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3fvARB");
        if (NULL == GLH_EXT_NAME(glWindowPos3fvARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos3ivARB) = (PFNGLWINDOWPOS3IVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3ivARB");
        if (NULL == GLH_EXT_NAME(glWindowPos3ivARB))
            return GL_FALSE;
        GLH_EXT_NAME(glWindowPos3svARB) = (PFNGLWINDOWPOS3SVARBPROC)GLH_EXT_GET_PROC_ADDRESS("glWindowPos3svARB");
        if (NULL == GLH_EXT_NAME(glWindowPos3svARB))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ATI_draw_buffers
    if (0 == strcmp(extension, "GL_ATI_draw_buffers")) {
        GLH_EXT_NAME(glDrawBuffersATI) = (PFNGLDRAWBUFFERSATIPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawBuffersATI");
        if (NULL == GLH_EXT_NAME(glDrawBuffersATI))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_ATI_texture_float
    if (0 == strcmp(extension, "GL_ATI_texture_float")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_abgr
    if (0 == strcmp(extension, "GL_EXT_abgr")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_bgra
    if (0 == strcmp(extension, "GL_EXT_bgra")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_blend_color
    if (0 == strcmp(extension, "GL_EXT_blend_color")) {
        GLH_EXT_NAME(glBlendColorEXT) = (PFNGLBLENDCOLOREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendColorEXT");
        if (NULL == GLH_EXT_NAME(glBlendColorEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_blend_equation_separate
    if (0 == strcmp(extension, "GL_EXT_blend_equation_separate")) {
        GLH_EXT_NAME(glBlendEquationSeparateEXT) = (PFNGLBLENDEQUATIONSEPARATEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendEquationSeparateEXT");
        if (NULL == GLH_EXT_NAME(glBlendEquationSeparateEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_blend_func_separate
    if (0 == strcmp(extension, "GL_EXT_blend_func_separate")) {
        GLH_EXT_NAME(glBlendFuncSeparateEXT) = (PFNGLBLENDFUNCSEPARATEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendFuncSeparateEXT");
        if (NULL == GLH_EXT_NAME(glBlendFuncSeparateEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_blend_minmax
    if (0 == strcmp(extension, "GL_EXT_blend_minmax")) {
        GLH_EXT_NAME(glBlendEquationEXT) = (PFNGLBLENDEQUATIONEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBlendEquationEXT");
        if (NULL == GLH_EXT_NAME(glBlendEquationEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_blend_subtract
    if (0 == strcmp(extension, "GL_EXT_blend_subtract")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_Cg_shader
    if (0 == strcmp(extension, "GL_EXT_Cg_shader")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_compiled_vertex_array
    if (0 == strcmp(extension, "GL_EXT_compiled_vertex_array")) {
        GLH_EXT_NAME(glLockArraysEXT) = (PFNGLLOCKARRAYSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glLockArraysEXT");
        if (NULL == GLH_EXT_NAME(glLockArraysEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glUnlockArraysEXT) = (PFNGLUNLOCKARRAYSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glUnlockArraysEXT");
        if (NULL == GLH_EXT_NAME(glUnlockArraysEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_depth_bounds_test
    if (0 == strcmp(extension, "GL_EXT_depth_bounds_test")) {
        GLH_EXT_NAME(glDepthBoundsEXT) = (PFNGLDEPTHBOUNDSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glDepthBoundsEXT");
        if (NULL == GLH_EXT_NAME(glDepthBoundsEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_draw_range_elements
    if (0 == strcmp(extension, "GL_EXT_draw_range_elements")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_fog_coord
    if (0 == strcmp(extension, "GL_EXT_fog_coord")) {
        GLH_EXT_NAME(glFogCoorddEXT) = (PFNGLFOGCOORDDEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoorddEXT");
        if (NULL == GLH_EXT_NAME(glFogCoorddEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glFogCoorddvEXT) = (PFNGLFOGCOORDDVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoorddvEXT");
        if (NULL == GLH_EXT_NAME(glFogCoorddvEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glFogCoordfEXT) = (PFNGLFOGCOORDFEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoordfEXT");
        if (NULL == GLH_EXT_NAME(glFogCoordfEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glFogCoordfvEXT) = (PFNGLFOGCOORDFVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoordfvEXT");
        if (NULL == GLH_EXT_NAME(glFogCoordfvEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glFogCoordPointerEXT) = (PFNGLFOGCOORDPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoordPointerEXT");
        if (NULL == GLH_EXT_NAME(glFogCoordPointerEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_framebuffer_object
    if (0 == strcmp(extension, "GL_EXT_framebuffer_object")) {
        GLH_EXT_NAME(glIsRenderbufferEXT) = (PFNGLISRENDERBUFFEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glIsRenderbufferEXT");
        if (NULL == GLH_EXT_NAME(glIsRenderbufferEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glBindRenderbufferEXT) = (PFNGLBINDRENDERBUFFEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBindRenderbufferEXT");
        if (NULL == GLH_EXT_NAME(glBindRenderbufferEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glDeleteRenderbuffersEXT) = (PFNGLDELETERENDERBUFFERSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteRenderbuffersEXT");
        if (NULL == GLH_EXT_NAME(glDeleteRenderbuffersEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGenRenderbuffersEXT) = (PFNGLGENRENDERBUFFERSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGenRenderbuffersEXT");
        if (NULL == GLH_EXT_NAME(glGenRenderbuffersEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glRenderbufferStorageEXT) = (PFNGLRENDERBUFFERSTORAGEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glRenderbufferStorageEXT");
        if (NULL == GLH_EXT_NAME(glRenderbufferStorageEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGetRenderbufferParameterivEXT) = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetRenderbufferParameterivEXT");
        if (NULL == GLH_EXT_NAME(glGetRenderbufferParameterivEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glIsFramebufferEXT) = (PFNGLISFRAMEBUFFEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glIsFramebufferEXT");
        if (NULL == GLH_EXT_NAME(glIsFramebufferEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glBindFramebufferEXT) = (PFNGLBINDFRAMEBUFFEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBindFramebufferEXT");
        if (NULL == GLH_EXT_NAME(glBindFramebufferEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glDeleteFramebuffersEXT) = (PFNGLDELETEFRAMEBUFFERSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteFramebuffersEXT");
        if (NULL == GLH_EXT_NAME(glDeleteFramebuffersEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGenFramebuffersEXT) = (PFNGLGENFRAMEBUFFERSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGenFramebuffersEXT");
        if (NULL == GLH_EXT_NAME(glGenFramebuffersEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glCheckFramebufferStatusEXT) = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glCheckFramebufferStatusEXT");
        if (NULL == GLH_EXT_NAME(glCheckFramebufferStatusEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glFramebufferTexture1DEXT) = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFramebufferTexture1DEXT");
        if (NULL == GLH_EXT_NAME(glFramebufferTexture1DEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glFramebufferTexture2DEXT) = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFramebufferTexture2DEXT");
        if (NULL == GLH_EXT_NAME(glFramebufferTexture2DEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glFramebufferTexture3DEXT) = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFramebufferTexture3DEXT");
        if (NULL == GLH_EXT_NAME(glFramebufferTexture3DEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glFramebufferRenderbufferEXT) = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glFramebufferRenderbufferEXT");
        if (NULL == GLH_EXT_NAME(glFramebufferRenderbufferEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGetFramebufferAttachmentParameterivEXT) = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetFramebufferAttachmentParameterivEXT");
        if (NULL == GLH_EXT_NAME(glGetFramebufferAttachmentParameterivEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGenerateMipmapEXT) = (PFNGLGENERATEMIPMAPEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGenerateMipmapEXT");
        if (NULL == GLH_EXT_NAME(glGenerateMipmapEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_multi_draw_arrays
    if (0 == strcmp(extension, "GL_EXT_multi_draw_arrays")) {
        GLH_EXT_NAME(glMultiDrawArraysEXT) = (PFNGLMULTIDRAWARRAYSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiDrawArraysEXT");
        if (NULL == GLH_EXT_NAME(glMultiDrawArraysEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiDrawElementsEXT) = (PFNGLMULTIDRAWELEMENTSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiDrawElementsEXT");
        if (NULL == GLH_EXT_NAME(glMultiDrawElementsEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_light_max_exponent
    if (0 == strcmp(extension, "GL_EXT_light_max_exponent")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_packed_pixels
    if (0 == strcmp(extension, "GL_EXT_packed_pixels")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_paletted_texture
    if (0 == strcmp(extension, "GL_EXT_paletted_texture")) {
        GLH_EXT_NAME(glColorSubTableEXT) = (PFNGLCOLORSUBTABLEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glColorSubTableEXT");
        if (NULL == GLH_EXT_NAME(glColorSubTableEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glColorTableEXT) = (PFNGLCOLORTABLEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glColorTableEXT");
        if (NULL == GLH_EXT_NAME(glColorTableEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGetColorTableEXT) = (PFNGLGETCOLORTABLEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetColorTableEXT");
        if (NULL == GLH_EXT_NAME(glGetColorTableEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGetColorTableParameterfvEXT) = (PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetColorTableParameterfvEXT");
        if (NULL == GLH_EXT_NAME(glGetColorTableParameterfvEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGetColorTableParameterivEXT) = (PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetColorTableParameterivEXT");
        if (NULL == GLH_EXT_NAME(glGetColorTableParameterivEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_pixel_buffer_object
    if (0 == strcmp(extension, "GL_EXT_pixel_buffer_object")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_point_parameters
    if (0 == strcmp(extension, "GL_EXT_point_parameters")) {
        GLH_EXT_NAME(glPointParameterfEXT) = (PFNGLPOINTPARAMETERFEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterfEXT");
        if (NULL == GLH_EXT_NAME(glPointParameterfEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glPointParameterfvEXT) = (PFNGLPOINTPARAMETERFVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterfvEXT");
        if (NULL == GLH_EXT_NAME(glPointParameterfvEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_rescale_normal
    if (0 == strcmp(extension, "GL_EXT_rescale_normal")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_secondary_color
    if (0 == strcmp(extension, "GL_EXT_secondary_color")) {
        GLH_EXT_NAME(glSecondaryColor3bEXT) = (PFNGLSECONDARYCOLOR3BEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3bEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3bEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3bvEXT) = (PFNGLSECONDARYCOLOR3BVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3bvEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3bvEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3dEXT) = (PFNGLSECONDARYCOLOR3DEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3dEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3dEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3dvEXT) = (PFNGLSECONDARYCOLOR3DVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3dvEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3dvEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3fEXT) = (PFNGLSECONDARYCOLOR3FEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3fEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3fEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3fvEXT) = (PFNGLSECONDARYCOLOR3FVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3fvEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3fvEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3iEXT) = (PFNGLSECONDARYCOLOR3IEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3iEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3iEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3ivEXT) = (PFNGLSECONDARYCOLOR3IVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ivEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3ivEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3sEXT) = (PFNGLSECONDARYCOLOR3SEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3sEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3sEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3svEXT) = (PFNGLSECONDARYCOLOR3SVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3svEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3svEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3ubEXT) = (PFNGLSECONDARYCOLOR3UBEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ubEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3ubEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3ubvEXT) = (PFNGLSECONDARYCOLOR3UBVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3ubvEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3ubvEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3uiEXT) = (PFNGLSECONDARYCOLOR3UIEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3uiEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3uiEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3uivEXT) = (PFNGLSECONDARYCOLOR3UIVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3uivEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3uivEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3usEXT) = (PFNGLSECONDARYCOLOR3USEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3usEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3usEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3usvEXT) = (PFNGLSECONDARYCOLOR3USVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3usvEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3usvEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColorPointerEXT) = (PFNGLSECONDARYCOLORPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColorPointerEXT");
        if (NULL == GLH_EXT_NAME(glSecondaryColorPointerEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_separate_specular_color
    if (0 == strcmp(extension, "GL_EXT_separate_specular_color")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_shadow_funcs
    if (0 == strcmp(extension, "GL_EXT_shadow_funcs")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_shared_texture_palette
    if (0 == strcmp(extension, "GL_EXT_shared_texture_palette")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_stencil_two_side
    if (0 == strcmp(extension, "GL_EXT_stencil_two_side")) {
        GLH_EXT_NAME(glActiveStencilFaceEXT) = (PFNGLACTIVESTENCILFACEEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glActiveStencilFaceEXT");
        if (NULL == GLH_EXT_NAME(glActiveStencilFaceEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_stencil_wrap
    if (0 == strcmp(extension, "GL_EXT_stencil_wrap")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_compression_s3tc
    if (0 == strcmp(extension, "GL_EXT_texture_compression_s3tc")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_cube_map
    if (0 == strcmp(extension, "GL_EXT_texture_cube_map")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_edge_clamp
    if (0 == strcmp(extension, "GL_EXT_texture_edge_clamp")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_env_add
    if (0 == strcmp(extension, "GL_EXT_texture_env_add")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_env_combine
    if (0 == strcmp(extension, "GL_EXT_texture_env_combine")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_env_dot3
    if (0 == strcmp(extension, "GL_EXT_texture_env_dot3")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_filter_anisotropic
    if (0 == strcmp(extension, "GL_EXT_texture_filter_anisotropic")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_lod_bias
    if (0 == strcmp(extension, "GL_EXT_texture_lod_bias")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_object
    if (0 == strcmp(extension, "GL_EXT_texture_object")) {
        GLH_EXT_NAME(glAreTexturesResidentEXT) = (PFNGLARETEXTURESRESIDENTEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glAreTexturesResidentEXT");
        if (NULL == GLH_EXT_NAME(glAreTexturesResidentEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glBindTextureEXT) = (PFNGLBINDTEXTUREEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glBindTextureEXT");
        if (NULL == GLH_EXT_NAME(glBindTextureEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glDeleteTexturesEXT) = (PFNGLDELETETEXTURESEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteTexturesEXT");
        if (NULL == GLH_EXT_NAME(glDeleteTexturesEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGenTexturesEXT) = (PFNGLGENTEXTURESEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGenTexturesEXT");
        if (NULL == GLH_EXT_NAME(glGenTexturesEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glIsTextureEXT) = (PFNGLISTEXTUREEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glIsTextureEXT");
        if (NULL == GLH_EXT_NAME(glIsTextureEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glPrioritizeTexturesEXT) = (PFNGLPRIORITIZETEXTURESEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glPrioritizeTexturesEXT");
        if (NULL == GLH_EXT_NAME(glPrioritizeTexturesEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture_rectangle
    if (0 == strcmp(extension, "GL_EXT_texture_rectangle")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_texture3D
    if (0 == strcmp(extension, "GL_EXT_texture3D")) {
        GLH_EXT_NAME(glTexImage3DEXT) = (PFNGLTEXIMAGE3DEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glTexImage3DEXT");
        if (NULL == GLH_EXT_NAME(glTexImage3DEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_vertex_array
    if (0 == strcmp(extension, "GL_EXT_vertex_array")) {
        GLH_EXT_NAME(glArrayElementEXT) = (PFNGLARRAYELEMENTEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glArrayElementEXT");
        if (NULL == GLH_EXT_NAME(glArrayElementEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glColorPointerEXT) = (PFNGLCOLORPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glColorPointerEXT");
        if (NULL == GLH_EXT_NAME(glColorPointerEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glEdgeFlagPointerEXT) = (PFNGLEDGEFLAGPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glEdgeFlagPointerEXT");
        if (NULL == GLH_EXT_NAME(glEdgeFlagPointerEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glGetPointervEXT) = (PFNGLGETPOINTERVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glGetPointervEXT");
        if (NULL == GLH_EXT_NAME(glGetPointervEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glIndexPointerEXT) = (PFNGLINDEXPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glIndexPointerEXT");
        if (NULL == GLH_EXT_NAME(glIndexPointerEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glNormalPointerEXT) = (PFNGLNORMALPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glNormalPointerEXT");
        if (NULL == GLH_EXT_NAME(glNormalPointerEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glTexCoordPointerEXT) = (PFNGLTEXCOORDPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoordPointerEXT");
        if (NULL == GLH_EXT_NAME(glTexCoordPointerEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexPointerEXT) = (PFNGLVERTEXPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexPointerEXT");
        if (NULL == GLH_EXT_NAME(glVertexPointerEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glDrawArraysEXT) = (PFNGLDRAWARRAYSEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawArraysEXT");
        if (NULL == GLH_EXT_NAME(glDrawArraysEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_EXT_vertex_weighting
    if (0 == strcmp(extension, "GL_EXT_vertex_weighting")) {
        GLH_EXT_NAME(glVertexWeightfEXT) = (PFNGLVERTEXWEIGHTFEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexWeightfEXT");
        if (NULL == GLH_EXT_NAME(glVertexWeightfEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexWeightfvEXT) = (PFNGLVERTEXWEIGHTFVEXTPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexWeightfvEXT");
        if (NULL == GLH_EXT_NAME(glVertexWeightfvEXT))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexWeightPointerEXT) = (PFNGLVERTEXWEIGHTPOINTEREXTPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexWeightPointerEXT");
        if (NULL == GLH_EXT_NAME(glVertexWeightPointerEXT))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_HP_occlusion_test
    if (0 == strcmp(extension, "GL_HP_occlusion_test")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_IBM_texture_mirrored_repeat
    if (0 == strcmp(extension, "GL_IBM_texture_mirrored_repeat")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_blend_square
    if (0 == strcmp(extension, "GL_NV_blend_square")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_copy_depth_to_color
    if (0 == strcmp(extension, "GL_NV_copy_depth_to_color")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_depth_clamp
    if (0 == strcmp(extension, "GL_NV_depth_clamp")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_element_array
    if (0 == strcmp(extension, "GL_NV_element_array")) {
        GLH_EXT_NAME(glElementPointerNV) = (PFNGLELEMENTPOINTERNVPROC)GLH_EXT_GET_PROC_ADDRESS("glElementPointerNV");
        if (NULL == GLH_EXT_NAME(glElementPointerNV))
            return GL_FALSE;
        GLH_EXT_NAME(glDrawElementArrayNV) = (PFNGLDRAWELEMENTARRAYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawElementArrayNV");
        if (NULL == GLH_EXT_NAME(glDrawElementArrayNV))
            return GL_FALSE;
        GLH_EXT_NAME(glDrawRangeElementArrayNV) = (PFNGLDRAWRANGEELEMENTARRAYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glDrawRangeElementArrayNV");
        if (NULL == GLH_EXT_NAME(glDrawRangeElementArrayNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiDrawElementArrayNV) = (PFNGLMULTIDRAWELEMENTARRAYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiDrawElementArrayNV");
        if (NULL == GLH_EXT_NAME(glMultiDrawElementArrayNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiDrawRangeElementArrayNV) = (PFNGLMULTIDRAWRANGEELEMENTARRAYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiDrawRangeElementArrayNV");
        if (NULL == GLH_EXT_NAME(glMultiDrawRangeElementArrayNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_fence
    if (0 == strcmp(extension, "GL_NV_fence")) {
        GLH_EXT_NAME(glGenFencesNV) = (PFNGLGENFENCESNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGenFencesNV");
        if (NULL == GLH_EXT_NAME(glGenFencesNV))
            return GL_FALSE;
        GLH_EXT_NAME(glDeleteFencesNV) = (PFNGLDELETEFENCESNVPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteFencesNV");
        if (NULL == GLH_EXT_NAME(glDeleteFencesNV))
            return GL_FALSE;
        GLH_EXT_NAME(glSetFenceNV) = (PFNGLSETFENCENVPROC)GLH_EXT_GET_PROC_ADDRESS("glSetFenceNV");
        if (NULL == GLH_EXT_NAME(glSetFenceNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTestFenceNV) = (PFNGLTESTFENCENVPROC)GLH_EXT_GET_PROC_ADDRESS("glTestFenceNV");
        if (NULL == GLH_EXT_NAME(glTestFenceNV))
            return GL_FALSE;
        GLH_EXT_NAME(glFinishFenceNV) = (PFNGLFINISHFENCENVPROC)GLH_EXT_GET_PROC_ADDRESS("glFinishFenceNV");
        if (NULL == GLH_EXT_NAME(glFinishFenceNV))
            return GL_FALSE;
        GLH_EXT_NAME(glIsFenceNV) = (PFNGLISFENCENVPROC)GLH_EXT_GET_PROC_ADDRESS("glIsFenceNV");
        if (NULL == GLH_EXT_NAME(glIsFenceNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetFenceivNV) = (PFNGLGETFENCEIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetFenceivNV");
        if (NULL == GLH_EXT_NAME(glGetFenceivNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_float_buffer
    if (0 == strcmp(extension, "GL_NV_float_buffer")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_fog_distance
    if (0 == strcmp(extension, "GL_NV_fog_distance")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_fragment_program
    if (0 == strcmp(extension, "GL_NV_fragment_program")) {
        GLH_EXT_NAME(glProgramNamedParameter4fNV) = (PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramNamedParameter4fNV");
        if (NULL == GLH_EXT_NAME(glProgramNamedParameter4fNV))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramNamedParameter4dNV) = (PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramNamedParameter4dNV");
        if (NULL == GLH_EXT_NAME(glProgramNamedParameter4dNV))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramNamedParameter4fvNV) = (PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramNamedParameter4fvNV");
        if (NULL == GLH_EXT_NAME(glProgramNamedParameter4fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramNamedParameter4dvNV) = (PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramNamedParameter4dvNV");
        if (NULL == GLH_EXT_NAME(glProgramNamedParameter4dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramNamedParameterfvNV) = (PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramNamedParameterfvNV");
        if (NULL == GLH_EXT_NAME(glGetProgramNamedParameterfvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramNamedParameterdvNV) = (PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramNamedParameterdvNV");
        if (NULL == GLH_EXT_NAME(glGetProgramNamedParameterdvNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_fragment_program2
    if (0 == strcmp(extension, "GL_NV_fragment_program2")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_half_float
    if (0 == strcmp(extension, "GL_NV_half_float")) {
        GLH_EXT_NAME(glVertex2hNV) = (PFNGLVERTEX2HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertex2hNV");
        if (NULL == GLH_EXT_NAME(glVertex2hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertex2hvNV) = (PFNGLVERTEX2HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertex2hvNV");
        if (NULL == GLH_EXT_NAME(glVertex2hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertex3hNV) = (PFNGLVERTEX3HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertex3hNV");
        if (NULL == GLH_EXT_NAME(glVertex3hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertex3hvNV) = (PFNGLVERTEX3HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertex3hvNV");
        if (NULL == GLH_EXT_NAME(glVertex3hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertex4hNV) = (PFNGLVERTEX4HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertex4hNV");
        if (NULL == GLH_EXT_NAME(glVertex4hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertex4hvNV) = (PFNGLVERTEX4HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertex4hvNV");
        if (NULL == GLH_EXT_NAME(glVertex4hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glNormal3hNV) = (PFNGLNORMAL3HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glNormal3hNV");
        if (NULL == GLH_EXT_NAME(glNormal3hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glNormal3hvNV) = (PFNGLNORMAL3HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glNormal3hvNV");
        if (NULL == GLH_EXT_NAME(glNormal3hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glColor3hNV) = (PFNGLCOLOR3HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glColor3hNV");
        if (NULL == GLH_EXT_NAME(glColor3hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glColor3hvNV) = (PFNGLCOLOR3HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glColor3hvNV");
        if (NULL == GLH_EXT_NAME(glColor3hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glColor4hNV) = (PFNGLCOLOR4HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glColor4hNV");
        if (NULL == GLH_EXT_NAME(glColor4hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glColor4hvNV) = (PFNGLCOLOR4HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glColor4hvNV");
        if (NULL == GLH_EXT_NAME(glColor4hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTexCoord1hNV) = (PFNGLTEXCOORD1HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoord1hNV");
        if (NULL == GLH_EXT_NAME(glTexCoord1hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTexCoord1hvNV) = (PFNGLTEXCOORD1HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoord1hvNV");
        if (NULL == GLH_EXT_NAME(glTexCoord1hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTexCoord2hNV) = (PFNGLTEXCOORD2HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoord2hNV");
        if (NULL == GLH_EXT_NAME(glTexCoord2hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTexCoord2hvNV) = (PFNGLTEXCOORD2HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoord2hvNV");
        if (NULL == GLH_EXT_NAME(glTexCoord2hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTexCoord3hNV) = (PFNGLTEXCOORD3HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoord3hNV");
        if (NULL == GLH_EXT_NAME(glTexCoord3hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTexCoord3hvNV) = (PFNGLTEXCOORD3HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoord3hvNV");
        if (NULL == GLH_EXT_NAME(glTexCoord3hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTexCoord4hNV) = (PFNGLTEXCOORD4HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoord4hNV");
        if (NULL == GLH_EXT_NAME(glTexCoord4hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTexCoord4hvNV) = (PFNGLTEXCOORD4HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTexCoord4hvNV");
        if (NULL == GLH_EXT_NAME(glTexCoord4hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord1hNV) = (PFNGLMULTITEXCOORD1HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1hNV");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord1hvNV) = (PFNGLMULTITEXCOORD1HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord1hvNV");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord1hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2hNV) = (PFNGLMULTITEXCOORD2HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2hNV");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord2hvNV) = (PFNGLMULTITEXCOORD2HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord2hvNV");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord2hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3hNV) = (PFNGLMULTITEXCOORD3HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3hNV");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord3hvNV) = (PFNGLMULTITEXCOORD3HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord3hvNV");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord3hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4hNV) = (PFNGLMULTITEXCOORD4HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4hNV");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glMultiTexCoord4hvNV) = (PFNGLMULTITEXCOORD4HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glMultiTexCoord4hvNV");
        if (NULL == GLH_EXT_NAME(glMultiTexCoord4hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glFogCoordhNV) = (PFNGLFOGCOORDHNVPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoordhNV");
        if (NULL == GLH_EXT_NAME(glFogCoordhNV))
            return GL_FALSE;
        GLH_EXT_NAME(glFogCoordhvNV) = (PFNGLFOGCOORDHVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glFogCoordhvNV");
        if (NULL == GLH_EXT_NAME(glFogCoordhvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3hNV) = (PFNGLSECONDARYCOLOR3HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3hNV");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glSecondaryColor3hvNV) = (PFNGLSECONDARYCOLOR3HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glSecondaryColor3hvNV");
        if (NULL == GLH_EXT_NAME(glSecondaryColor3hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1hNV) = (PFNGLVERTEXATTRIB1HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1hNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1hvNV) = (PFNGLVERTEXATTRIB1HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1hvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2hNV) = (PFNGLVERTEXATTRIB2HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2hNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2hvNV) = (PFNGLVERTEXATTRIB2HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2hvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3hNV) = (PFNGLVERTEXATTRIB3HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3hNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3hvNV) = (PFNGLVERTEXATTRIB3HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3hvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4hNV) = (PFNGLVERTEXATTRIB4HNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4hNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4hNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4hvNV) = (PFNGLVERTEXATTRIB4HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4hvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs1hvNV) = (PFNGLVERTEXATTRIBS1HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs1hvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs1hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs2hvNV) = (PFNGLVERTEXATTRIBS2HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs2hvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs2hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs3hvNV) = (PFNGLVERTEXATTRIBS3HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs3hvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs3hvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs4hvNV) = (PFNGLVERTEXATTRIBS4HVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs4hvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs4hvNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_light_max_exponent
    if (0 == strcmp(extension, "GL_NV_light_max_exponent")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_multisample_filter_hint
    if (0 == strcmp(extension, "GL_NV_multisample_filter_hint")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_occlusion_query
    if (0 == strcmp(extension, "GL_NV_occlusion_query")) {
        GLH_EXT_NAME(glGenOcclusionQueriesNV) = (PFNGLGENOCCLUSIONQUERIESNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGenOcclusionQueriesNV");
        if (NULL == GLH_EXT_NAME(glGenOcclusionQueriesNV))
            return GL_FALSE;
        GLH_EXT_NAME(glDeleteOcclusionQueriesNV) = (PFNGLDELETEOCCLUSIONQUERIESNVPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteOcclusionQueriesNV");
        if (NULL == GLH_EXT_NAME(glDeleteOcclusionQueriesNV))
            return GL_FALSE;
        GLH_EXT_NAME(glIsOcclusionQueryNV) = (PFNGLISOCCLUSIONQUERYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glIsOcclusionQueryNV");
        if (NULL == GLH_EXT_NAME(glIsOcclusionQueryNV))
            return GL_FALSE;
        GLH_EXT_NAME(glBeginOcclusionQueryNV) = (PFNGLBEGINOCCLUSIONQUERYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glBeginOcclusionQueryNV");
        if (NULL == GLH_EXT_NAME(glBeginOcclusionQueryNV))
            return GL_FALSE;
        GLH_EXT_NAME(glEndOcclusionQueryNV) = (PFNGLENDOCCLUSIONQUERYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glEndOcclusionQueryNV");
        if (NULL == GLH_EXT_NAME(glEndOcclusionQueryNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetOcclusionQueryivNV) = (PFNGLGETOCCLUSIONQUERYIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetOcclusionQueryivNV");
        if (NULL == GLH_EXT_NAME(glGetOcclusionQueryivNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetOcclusionQueryuivNV) = (PFNGLGETOCCLUSIONQUERYUIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetOcclusionQueryuivNV");
        if (NULL == GLH_EXT_NAME(glGetOcclusionQueryuivNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_packed_depth_stencil
    if (0 == strcmp(extension, "GL_NV_packed_depth_stencil")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_pixel_buffer_object
    if (0 == strcmp(extension, "GL_NV_pixel_buffer_object")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_pixel_data_range
    if (0 == strcmp(extension, "GL_NV_pixel_data_range")) {
        GLH_EXT_NAME(glPixelDataRangeNV) = (PFNGLPIXELDATARANGENVPROC)GLH_EXT_GET_PROC_ADDRESS("glPixelDataRangeNV");
        if (NULL == GLH_EXT_NAME(glPixelDataRangeNV))
            return GL_FALSE;
        GLH_EXT_NAME(glFlushPixelDataRangeNV) = (PFNGLFLUSHPIXELDATARANGENVPROC)GLH_EXT_GET_PROC_ADDRESS("glFlushPixelDataRangeNV");
        if (NULL == GLH_EXT_NAME(glFlushPixelDataRangeNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_point_sprite
    if (0 == strcmp(extension, "GL_NV_point_sprite")) {
        GLH_EXT_NAME(glPointParameteriNV) = (PFNGLPOINTPARAMETERINVPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameteriNV");
        if (NULL == GLH_EXT_NAME(glPointParameteriNV))
            return GL_FALSE;
        GLH_EXT_NAME(glPointParameterivNV) = (PFNGLPOINTPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glPointParameterivNV");
        if (NULL == GLH_EXT_NAME(glPointParameterivNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_primitive_restart
    if (0 == strcmp(extension, "GL_NV_primitive_restart")) {
        GLH_EXT_NAME(glPrimitiveRestartNV) = (PFNGLPRIMITIVERESTARTNVPROC)GLH_EXT_GET_PROC_ADDRESS("glPrimitiveRestartNV");
        if (NULL == GLH_EXT_NAME(glPrimitiveRestartNV))
            return GL_FALSE;
        GLH_EXT_NAME(glPrimitiveRestartIndexNV) = (PFNGLPRIMITIVERESTARTINDEXNVPROC)GLH_EXT_GET_PROC_ADDRESS("glPrimitiveRestartIndexNV");
        if (NULL == GLH_EXT_NAME(glPrimitiveRestartIndexNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_register_combiners
    if (0 == strcmp(extension, "GL_NV_register_combiners")) {
        GLH_EXT_NAME(glCombinerParameterfvNV) = (PFNGLCOMBINERPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerParameterfvNV");
        if (NULL == GLH_EXT_NAME(glCombinerParameterfvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glCombinerParameterfNV) = (PFNGLCOMBINERPARAMETERFNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerParameterfNV");
        if (NULL == GLH_EXT_NAME(glCombinerParameterfNV))
            return GL_FALSE;
        GLH_EXT_NAME(glCombinerParameterivNV) = (PFNGLCOMBINERPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerParameterivNV");
        if (NULL == GLH_EXT_NAME(glCombinerParameterivNV))
            return GL_FALSE;
        GLH_EXT_NAME(glCombinerParameteriNV) = (PFNGLCOMBINERPARAMETERINVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerParameteriNV");
        if (NULL == GLH_EXT_NAME(glCombinerParameteriNV))
            return GL_FALSE;
        GLH_EXT_NAME(glCombinerInputNV) = (PFNGLCOMBINERINPUTNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerInputNV");
        if (NULL == GLH_EXT_NAME(glCombinerInputNV))
            return GL_FALSE;
        GLH_EXT_NAME(glCombinerOutputNV) = (PFNGLCOMBINEROUTPUTNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerOutputNV");
        if (NULL == GLH_EXT_NAME(glCombinerOutputNV))
            return GL_FALSE;
        GLH_EXT_NAME(glFinalCombinerInputNV) = (PFNGLFINALCOMBINERINPUTNVPROC)GLH_EXT_GET_PROC_ADDRESS("glFinalCombinerInputNV");
        if (NULL == GLH_EXT_NAME(glFinalCombinerInputNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetCombinerInputParameterfvNV) = (PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerInputParameterfvNV");
        if (NULL == GLH_EXT_NAME(glGetCombinerInputParameterfvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetCombinerInputParameterivNV) = (PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerInputParameterivNV");
        if (NULL == GLH_EXT_NAME(glGetCombinerInputParameterivNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetCombinerOutputParameterfvNV) = (PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerOutputParameterfvNV");
        if (NULL == GLH_EXT_NAME(glGetCombinerOutputParameterfvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetCombinerOutputParameterivNV) = (PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerOutputParameterivNV");
        if (NULL == GLH_EXT_NAME(glGetCombinerOutputParameterivNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetFinalCombinerInputParameterfvNV) = (PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetFinalCombinerInputParameterfvNV");
        if (NULL == GLH_EXT_NAME(glGetFinalCombinerInputParameterfvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetFinalCombinerInputParameterivNV) = (PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetFinalCombinerInputParameterivNV");
        if (NULL == GLH_EXT_NAME(glGetFinalCombinerInputParameterivNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_register_combiners2
    if (0 == strcmp(extension, "GL_NV_register_combiners2")) {
        GLH_EXT_NAME(glCombinerStageParameterfvNV) = (PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glCombinerStageParameterfvNV");
        if (NULL == GLH_EXT_NAME(glCombinerStageParameterfvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetCombinerStageParameterfvNV) = (PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetCombinerStageParameterfvNV");
        if (NULL == GLH_EXT_NAME(glGetCombinerStageParameterfvNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_stencil_two_side
    if (0 == strcmp(extension, "GL_NV_stencil_two_side")) {
        GLH_EXT_NAME(glActiveStencilFaceNV) = (PFNGLACTIVESTENCILFACENVPROC)GLH_EXT_GET_PROC_ADDRESS("glActiveStencilFaceNV");
        if (NULL == GLH_EXT_NAME(glActiveStencilFaceNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_texgen_reflection
    if (0 == strcmp(extension, "GL_NV_texgen_reflection")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_texture_compression_vtc
    if (0 == strcmp(extension, "GL_NV_texture_compression_vtc")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_texture_env_combine4
    if (0 == strcmp(extension, "GL_NV_texture_env_combine4")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_texture_expand_normal
    if (0 == strcmp(extension, "GL_NV_texture_expand_normal")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_texture_rectangle
    if (0 == strcmp(extension, "GL_NV_texture_rectangle")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_texture_shader
    if (0 == strcmp(extension, "GL_NV_texture_shader")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_texture_shader2
    if (0 == strcmp(extension, "GL_NV_texture_shader2")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_texture_shader3
    if (0 == strcmp(extension, "GL_NV_texture_shader3")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_vertex_array_range
    if (0 == strcmp(extension, "GL_NV_vertex_array_range")) {
        GLH_EXT_NAME(glFlushVertexArrayRangeNV) = (PFNGLFLUSHVERTEXARRAYRANGENVPROC)GLH_EXT_GET_PROC_ADDRESS("glFlushVertexArrayRangeNV");
        if (NULL == GLH_EXT_NAME(glFlushVertexArrayRangeNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexArrayRangeNV) = (PFNGLVERTEXARRAYRANGENVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexArrayRangeNV");
        if (NULL == GLH_EXT_NAME(glVertexArrayRangeNV))
            return GL_FALSE;
# ifdef _WIN32
        GLH_EXT_NAME(wglAllocateMemoryNV) = (PFNWGLALLOCATEMEMORYNVPROC)GLH_EXT_GET_PROC_ADDRESS("wglAllocateMemoryNV");
        if (NULL == GLH_EXT_NAME(wglAllocateMemoryNV))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXAllocateMemoryNV) = (PFNGLXALLOCATEMEMORYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glXAllocateMemoryNV");
        if (NULL == GLH_EXT_NAME(glXAllocateMemoryNV))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglFreeMemoryNV) = (PFNWGLFREEMEMORYNVPROC)GLH_EXT_GET_PROC_ADDRESS("wglFreeMemoryNV");
        if (NULL == GLH_EXT_NAME(wglFreeMemoryNV))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXFreeMemoryNV) = (PFNGLXFREEMEMORYNVPROC)GLH_EXT_GET_PROC_ADDRESS("glXFreeMemoryNV");
        if (NULL == GLH_EXT_NAME(glXFreeMemoryNV))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_vertex_array_range2
    if (0 == strcmp(extension, "GL_NV_vertex_array_range2")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_vertex_program
    if (0 == strcmp(extension, "GL_NV_vertex_program")) {
        GLH_EXT_NAME(glAreProgramsResidentNV) = (PFNGLAREPROGRAMSRESIDENTNVPROC)GLH_EXT_GET_PROC_ADDRESS("glAreProgramsResidentNV");
        if (NULL == GLH_EXT_NAME(glAreProgramsResidentNV))
            return GL_FALSE;
        GLH_EXT_NAME(glBindProgramNV) = (PFNGLBINDPROGRAMNVPROC)GLH_EXT_GET_PROC_ADDRESS("glBindProgramNV");
        if (NULL == GLH_EXT_NAME(glBindProgramNV))
            return GL_FALSE;
        GLH_EXT_NAME(glDeleteProgramsNV) = (PFNGLDELETEPROGRAMSNVPROC)GLH_EXT_GET_PROC_ADDRESS("glDeleteProgramsNV");
        if (NULL == GLH_EXT_NAME(glDeleteProgramsNV))
            return GL_FALSE;
        GLH_EXT_NAME(glExecuteProgramNV) = (PFNGLEXECUTEPROGRAMNVPROC)GLH_EXT_GET_PROC_ADDRESS("glExecuteProgramNV");
        if (NULL == GLH_EXT_NAME(glExecuteProgramNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGenProgramsNV) = (PFNGLGENPROGRAMSNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGenProgramsNV");
        if (NULL == GLH_EXT_NAME(glGenProgramsNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramParameterdvNV) = (PFNGLGETPROGRAMPARAMETERDVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramParameterdvNV");
        if (NULL == GLH_EXT_NAME(glGetProgramParameterdvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramParameterfvNV) = (PFNGLGETPROGRAMPARAMETERFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramParameterfvNV");
        if (NULL == GLH_EXT_NAME(glGetProgramParameterfvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramivNV) = (PFNGLGETPROGRAMIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramivNV");
        if (NULL == GLH_EXT_NAME(glGetProgramivNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetProgramStringNV) = (PFNGLGETPROGRAMSTRINGNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetProgramStringNV");
        if (NULL == GLH_EXT_NAME(glGetProgramStringNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetTrackMatrixivNV) = (PFNGLGETTRACKMATRIXIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetTrackMatrixivNV");
        if (NULL == GLH_EXT_NAME(glGetTrackMatrixivNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetVertexAttribdvNV) = (PFNGLGETVERTEXATTRIBDVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribdvNV");
        if (NULL == GLH_EXT_NAME(glGetVertexAttribdvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetVertexAttribfvNV) = (PFNGLGETVERTEXATTRIBFVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribfvNV");
        if (NULL == GLH_EXT_NAME(glGetVertexAttribfvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetVertexAttribivNV) = (PFNGLGETVERTEXATTRIBIVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribivNV");
        if (NULL == GLH_EXT_NAME(glGetVertexAttribivNV))
            return GL_FALSE;
        GLH_EXT_NAME(glGetVertexAttribPointervNV) = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glGetVertexAttribPointervNV");
        if (NULL == GLH_EXT_NAME(glGetVertexAttribPointervNV))
            return GL_FALSE;
        GLH_EXT_NAME(glIsProgramNV) = (PFNGLISPROGRAMNVPROC)GLH_EXT_GET_PROC_ADDRESS("glIsProgramNV");
        if (NULL == GLH_EXT_NAME(glIsProgramNV))
            return GL_FALSE;
        GLH_EXT_NAME(glLoadProgramNV) = (PFNGLLOADPROGRAMNVPROC)GLH_EXT_GET_PROC_ADDRESS("glLoadProgramNV");
        if (NULL == GLH_EXT_NAME(glLoadProgramNV))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramParameter4dNV) = (PFNGLPROGRAMPARAMETER4DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameter4dNV");
        if (NULL == GLH_EXT_NAME(glProgramParameter4dNV))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramParameter4dvNV) = (PFNGLPROGRAMPARAMETER4DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameter4dvNV");
        if (NULL == GLH_EXT_NAME(glProgramParameter4dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramParameter4fNV) = (PFNGLPROGRAMPARAMETER4FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameter4fNV");
        if (NULL == GLH_EXT_NAME(glProgramParameter4fNV))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramParameter4fvNV) = (PFNGLPROGRAMPARAMETER4FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameter4fvNV");
        if (NULL == GLH_EXT_NAME(glProgramParameter4fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramParameters4dvNV) = (PFNGLPROGRAMPARAMETERS4DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameters4dvNV");
        if (NULL == GLH_EXT_NAME(glProgramParameters4dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glProgramParameters4fvNV) = (PFNGLPROGRAMPARAMETERS4FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glProgramParameters4fvNV");
        if (NULL == GLH_EXT_NAME(glProgramParameters4fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glRequestResidentProgramsNV) = (PFNGLREQUESTRESIDENTPROGRAMSNVPROC)GLH_EXT_GET_PROC_ADDRESS("glRequestResidentProgramsNV");
        if (NULL == GLH_EXT_NAME(glRequestResidentProgramsNV))
            return GL_FALSE;
        GLH_EXT_NAME(glTrackMatrixNV) = (PFNGLTRACKMATRIXNVPROC)GLH_EXT_GET_PROC_ADDRESS("glTrackMatrixNV");
        if (NULL == GLH_EXT_NAME(glTrackMatrixNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribPointerNV) = (PFNGLVERTEXATTRIBPOINTERNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribPointerNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribPointerNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1dNV) = (PFNGLVERTEXATTRIB1DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1dNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1dNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1dvNV) = (PFNGLVERTEXATTRIB1DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1dvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1fNV) = (PFNGLVERTEXATTRIB1FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1fNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1fNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1fvNV) = (PFNGLVERTEXATTRIB1FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1fvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1sNV) = (PFNGLVERTEXATTRIB1SNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1sNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1sNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib1svNV) = (PFNGLVERTEXATTRIB1SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib1svNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib1svNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2dNV) = (PFNGLVERTEXATTRIB2DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2dNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2dNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2dvNV) = (PFNGLVERTEXATTRIB2DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2dvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2fNV) = (PFNGLVERTEXATTRIB2FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2fNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2fNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2fvNV) = (PFNGLVERTEXATTRIB2FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2fvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2sNV) = (PFNGLVERTEXATTRIB2SNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2sNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2sNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib2svNV) = (PFNGLVERTEXATTRIB2SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib2svNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib2svNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3dNV) = (PFNGLVERTEXATTRIB3DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3dNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3dNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3dvNV) = (PFNGLVERTEXATTRIB3DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3dvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3fNV) = (PFNGLVERTEXATTRIB3FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3fNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3fNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3fvNV) = (PFNGLVERTEXATTRIB3FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3fvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3sNV) = (PFNGLVERTEXATTRIB3SNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3sNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3sNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib3svNV) = (PFNGLVERTEXATTRIB3SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib3svNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib3svNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4dNV) = (PFNGLVERTEXATTRIB4DNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4dNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4dNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4dvNV) = (PFNGLVERTEXATTRIB4DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4dvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4fNV) = (PFNGLVERTEXATTRIB4FNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4fNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4fNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4fvNV) = (PFNGLVERTEXATTRIB4FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4fvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4sNV) = (PFNGLVERTEXATTRIB4SNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4sNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4sNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4svNV) = (PFNGLVERTEXATTRIB4SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4svNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4svNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttrib4ubvNV) = (PFNGLVERTEXATTRIB4UBVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttrib4ubvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttrib4ubvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs1dvNV) = (PFNGLVERTEXATTRIBS1DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs1dvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs1dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs1fvNV) = (PFNGLVERTEXATTRIBS1FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs1fvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs1fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs1svNV) = (PFNGLVERTEXATTRIBS1SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs1svNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs1svNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs2dvNV) = (PFNGLVERTEXATTRIBS2DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs2dvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs2dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs2fvNV) = (PFNGLVERTEXATTRIBS2FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs2fvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs2fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs2svNV) = (PFNGLVERTEXATTRIBS2SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs2svNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs2svNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs3dvNV) = (PFNGLVERTEXATTRIBS3DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs3dvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs3dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs3fvNV) = (PFNGLVERTEXATTRIBS3FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs3fvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs3fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs3svNV) = (PFNGLVERTEXATTRIBS3SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs3svNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs3svNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs4dvNV) = (PFNGLVERTEXATTRIBS4DVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs4dvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs4dvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs4fvNV) = (PFNGLVERTEXATTRIBS4FVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs4fvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs4fvNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs4svNV) = (PFNGLVERTEXATTRIBS4SVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs4svNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs4svNV))
            return GL_FALSE;
        GLH_EXT_NAME(glVertexAttribs4ubvNV) = (PFNGLVERTEXATTRIBS4UBVNVPROC)GLH_EXT_GET_PROC_ADDRESS("glVertexAttribs4ubvNV");
        if (NULL == GLH_EXT_NAME(glVertexAttribs4ubvNV))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_vertex_program1_1
    if (0 == strcmp(extension, "GL_NV_vertex_program1_1")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_vertex_program2
    if (0 == strcmp(extension, "GL_NV_vertex_program2")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_vertex_program2_option
    if (0 == strcmp(extension, "GL_NV_vertex_program2_option")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NV_vertex_program3
    if (0 == strcmp(extension, "GL_NV_vertex_program3")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_SGIS_generate_mipmap
    if (0 == strcmp(extension, "GL_SGIS_generate_mipmap")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_SGIS_texture_lod
    if (0 == strcmp(extension, "GL_SGIS_texture_lod")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_SGIX_depth_texture
    if (0 == strcmp(extension, "GL_SGIX_depth_texture")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_SGIX_shadow
    if (0 == strcmp(extension, "GL_SGIX_shadow")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_WIN_swap_hint
    if (0 == strcmp(extension, "GL_WIN_swap_hint")) {
        GLH_EXT_NAME(glAddSwapHintRectWIN) = (PFNGLADDSWAPHINTRECTWINPROC)GLH_EXT_GET_PROC_ADDRESS("glAddSwapHintRectWIN");
        if (NULL == GLH_EXT_NAME(glAddSwapHintRectWIN))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef WGL_ARB_buffer_region
    if (0 == strcmp(extension, "WGL_ARB_buffer_region")) {
# ifdef _WIN32
        GLH_EXT_NAME(wglCreateBufferRegionARB) = (PFNWGLCREATEBUFFERREGIONARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglCreateBufferRegionARB");
        if (NULL == GLH_EXT_NAME(wglCreateBufferRegionARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglDeleteBufferRegionARB) = (PFNWGLDELETEBUFFERREGIONARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglDeleteBufferRegionARB");
        if (NULL == GLH_EXT_NAME(wglDeleteBufferRegionARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglSaveBufferRegionARB) = (PFNWGLSAVEBUFFERREGIONARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglSaveBufferRegionARB");
        if (NULL == GLH_EXT_NAME(wglSaveBufferRegionARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglRestoreBufferRegionARB) = (PFNWGLRESTOREBUFFERREGIONARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglRestoreBufferRegionARB");
        if (NULL == GLH_EXT_NAME(wglRestoreBufferRegionARB))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

#ifdef WGL_ARB_extensions_string
    if (0 == strcmp(extension, "WGL_ARB_extensions_string")) {
# ifdef _WIN32
        GLH_EXT_NAME(wglGetExtensionsStringARB) = (PFNWGLGETEXTENSIONSSTRINGARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetExtensionsStringARB");
        if (NULL == GLH_EXT_NAME(wglGetExtensionsStringARB))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

#ifdef WGL_ARB_pbuffer
    if (0 == strcmp(extension, "WGL_ARB_pbuffer")) {
# ifdef _WIN32
        GLH_EXT_NAME(wglCreatePbufferARB) = (PFNWGLCREATEPBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglCreatePbufferARB");
        if (NULL == GLH_EXT_NAME(wglCreatePbufferARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglGetPbufferDCARB) = (PFNWGLGETPBUFFERDCARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetPbufferDCARB");
        if (NULL == GLH_EXT_NAME(wglGetPbufferDCARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglReleasePbufferDCARB) = (PFNWGLRELEASEPBUFFERDCARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglReleasePbufferDCARB");
        if (NULL == GLH_EXT_NAME(wglReleasePbufferDCARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglDestroyPbufferARB) = (PFNWGLDESTROYPBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglDestroyPbufferARB");
        if (NULL == GLH_EXT_NAME(wglDestroyPbufferARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglQueryPbufferARB) = (PFNWGLQUERYPBUFFERARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglQueryPbufferARB");
        if (NULL == GLH_EXT_NAME(wglQueryPbufferARB))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

#ifdef WGL_ARB_pixel_format
    if (0 == strcmp(extension, "WGL_ARB_pixel_format")) {
# ifdef _WIN32
        GLH_EXT_NAME(wglGetPixelFormatAttribivARB) = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetPixelFormatAttribivARB");
        if (NULL == GLH_EXT_NAME(wglGetPixelFormatAttribivARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglGetPixelFormatAttribfvARB) = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetPixelFormatAttribfvARB");
        if (NULL == GLH_EXT_NAME(wglGetPixelFormatAttribfvARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglChoosePixelFormatARB) = (PFNWGLCHOOSEPIXELFORMATARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglChoosePixelFormatARB");
        if (NULL == GLH_EXT_NAME(wglChoosePixelFormatARB))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

#ifdef WGL_ARB_render_texture
    if (0 == strcmp(extension, "WGL_ARB_render_texture")) {
# ifdef _WIN32
        GLH_EXT_NAME(wglBindTexImageARB) = (PFNWGLBINDTEXIMAGEARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglBindTexImageARB");
        if (NULL == GLH_EXT_NAME(wglBindTexImageARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglReleaseTexImageARB) = (PFNWGLRELEASETEXIMAGEARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglReleaseTexImageARB");
        if (NULL == GLH_EXT_NAME(wglReleaseTexImageARB))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglSetPbufferAttribARB) = (PFNWGLSETPBUFFERATTRIBARBPROC)GLH_EXT_GET_PROC_ADDRESS("wglSetPbufferAttribARB");
        if (NULL == GLH_EXT_NAME(wglSetPbufferAttribARB))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

#ifdef WGL_ATI_pixel_format_float
    if (0 == strcmp(extension, "WGL_ATI_pixel_format_float")) {

        return GL_TRUE;
    }
#endif

#ifdef WGL_EXT_extensions_string
    if (0 == strcmp(extension, "WGL_EXT_extensions_string")) {
# ifdef _WIN32
        GLH_EXT_NAME(wglGetExtensionsStringEXT) = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetExtensionsStringEXT");
        if (NULL == GLH_EXT_NAME(wglGetExtensionsStringEXT))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

#ifdef WGL_EXT_swap_control
    if (0 == strcmp(extension, "WGL_EXT_swap_control")) {
# ifdef _WIN32
        GLH_EXT_NAME(wglSwapIntervalEXT) = (PFNWGLSWAPINTERVALEXTPROC)GLH_EXT_GET_PROC_ADDRESS("wglSwapIntervalEXT");
        if (NULL == GLH_EXT_NAME(wglSwapIntervalEXT))
            return GL_FALSE;
# endif
# ifdef _WIN32
        GLH_EXT_NAME(wglGetSwapIntervalEXT) = (PFNWGLGETSWAPINTERVALEXTPROC)GLH_EXT_GET_PROC_ADDRESS("wglGetSwapIntervalEXT");
        if (NULL == GLH_EXT_NAME(wglGetSwapIntervalEXT))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

#ifdef WGL_NV_float_buffer
    if (0 == strcmp(extension, "WGL_NV_float_buffer")) {

        return GL_TRUE;
    }
#endif

#ifdef WGL_NV_render_depth_texture
    if (0 == strcmp(extension, "WGL_NV_render_depth_texture")) {

        return GL_TRUE;
    }
#endif

#ifdef WGL_NV_render_texture_rectangle
    if (0 == strcmp(extension, "WGL_NV_render_texture_rectangle")) {

        return GL_TRUE;
    }
#endif

#ifdef GLX_NV_float_buffer
    if (0 == strcmp(extension, "GLX_NV_float_buffer")) {

        return GL_TRUE;
    }
#endif

#ifdef GL_NVX_conditional_render
    if (0 == strcmp(extension, "GL_NVX_conditional_render")) {
        GLH_EXT_NAME(glBeginConditionalRenderNVX) = (PFNGLBEGINCONDITIONALRENDERNVXPROC)GLH_EXT_GET_PROC_ADDRESS("glBeginConditionalRenderNVX");
        if (NULL == GLH_EXT_NAME(glBeginConditionalRenderNVX))
            return GL_FALSE;
        GLH_EXT_NAME(glEndConditionalRenderNVX) = (PFNGLENDCONDITIONALRENDERNVXPROC)GLH_EXT_GET_PROC_ADDRESS("glEndConditionalRenderNVX");
        if (NULL == GLH_EXT_NAME(glEndConditionalRenderNVX))
            return GL_FALSE;

        return GL_TRUE;
    }
#endif

#ifdef GLX_SGIX_pbuffer
    if (0 == strcmp(extension, "GLX_SGIX_pbuffer")) {
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXCreateGLXPbufferSGIX) = (PFNGLXCREATEGLXPBUFFERSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXCreateGLXPbufferSGIX");
        if (NULL == GLH_EXT_NAME(glXCreateGLXPbufferSGIX))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXDestroyGLXPbufferSGIX) = (PFNGLXDESTROYGLXPBUFFERSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXDestroyGLXPbufferSGIX");
        if (NULL == GLH_EXT_NAME(glXDestroyGLXPbufferSGIX))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXQueryGLXPbufferSGIX) = (PFNGLXQUERYGLXPBUFFERSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXQueryGLXPbufferSGIX");
        if (NULL == GLH_EXT_NAME(glXQueryGLXPbufferSGIX))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXSelectEventSGIX) = (PFNGLXSELECTEVENTSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXSelectEventSGIX");
        if (NULL == GLH_EXT_NAME(glXSelectEventSGIX))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXGetSelectedEventSGIX) = (PFNGLXGETSELECTEDEVENTSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXGetSelectedEventSGIX");
        if (NULL == GLH_EXT_NAME(glXGetSelectedEventSGIX))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

#ifdef GLX_SGIX_fbconfig
    if (0 == strcmp(extension, "GLX_SGIX_fbconfig")) {
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXGetFBConfigAttribSGIX) = (PFNGLXGETFBCONFIGATTRIBSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXGetFBConfigAttribSGIX");
        if (NULL == GLH_EXT_NAME(glXGetFBConfigAttribSGIX))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXChooseFBConfigSGIX) = (PFNGLXCHOOSEFBCONFIGSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXChooseFBConfigSGIX");
        if (NULL == GLH_EXT_NAME(glXChooseFBConfigSGIX))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXCreateGLXPixmapWithConfigSGIX) = (PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXCreateGLXPixmapWithConfigSGIX");
        if (NULL == GLH_EXT_NAME(glXCreateGLXPixmapWithConfigSGIX))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXCreateContextWithConfigSGIX) = (PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXCreateContextWithConfigSGIX");
        if (NULL == GLH_EXT_NAME(glXCreateContextWithConfigSGIX))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXGetVisualFromFBConfigSGIX) = (PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXGetVisualFromFBConfigSGIX");
        if (NULL == GLH_EXT_NAME(glXGetVisualFromFBConfigSGIX))
            return GL_FALSE;
# endif
# ifdef GLX_VERSION_1_3
        GLH_EXT_NAME(glXGetFBConfigFromVisualSGIX) = (PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)GLH_EXT_GET_PROC_ADDRESS("glXGetFBConfigFromVisualSGIX");
        if (NULL == GLH_EXT_NAME(glXGetFBConfigFromVisualSGIX))
            return GL_FALSE;
# endif

        return GL_TRUE;
    }
#endif

    return GL_FALSE;
}
#endif

#undef GLH_EXT_SINGLE_FILE

#ifdef __cplusplus
}
#endif

#endif /* GLH_GENEXT_H */
#ifndef _WIN32
#ifdef _WIN32
#if defined(GL_VERSION_1_2) || defined(GL_VERSION_1_3) || defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
    /* These routines are prefixed by the preprocessor constant
       GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
#define glBlendColor GLH_CORE_NAME(glBlendColor)
#define glBlendEquation GLH_CORE_NAME(glBlendEquation)
#define glDrawRangeElements GLH_CORE_NAME(glDrawRangeElements)
#define glTexImage3D GLH_CORE_NAME(glTexImage3D)
#define glTexSubImage3D GLH_CORE_NAME(glTexSubImage3D)
#define glCopyTexSubImage3D GLH_CORE_NAME(glCopyTexSubImage3D)
#define glMultiTexCoord1d GLH_CORE_NAME(glMultiTexCoord1d)
#define glMultiTexCoord1dv GLH_CORE_NAME(glMultiTexCoord1dv)
#define glMultiTexCoord1f GLH_CORE_NAME(glMultiTexCoord1f)
#define glMultiTexCoord1fv GLH_CORE_NAME(glMultiTexCoord1fv)
#define glMultiTexCoord1i GLH_CORE_NAME(glMultiTexCoord1i)
#define glMultiTexCoord1iv GLH_CORE_NAME(glMultiTexCoord1iv)
#define glMultiTexCoord1s GLH_CORE_NAME(glMultiTexCoord1s)
#define glMultiTexCoord1sv GLH_CORE_NAME(glMultiTexCoord1sv)
#define glMultiTexCoord2d GLH_CORE_NAME(glMultiTexCoord2d)
#define glMultiTexCoord2dv GLH_CORE_NAME(glMultiTexCoord2dv)
#define glMultiTexCoord2f GLH_CORE_NAME(glMultiTexCoord2f)
#define glMultiTexCoord2fv GLH_CORE_NAME(glMultiTexCoord2fv)
#define glMultiTexCoord2i GLH_CORE_NAME(glMultiTexCoord2i)
#define glMultiTexCoord2iv GLH_CORE_NAME(glMultiTexCoord2iv)
#define glMultiTexCoord2s GLH_CORE_NAME(glMultiTexCoord2s)
#define glMultiTexCoord2sv GLH_CORE_NAME(glMultiTexCoord2sv)
#define glMultiTexCoord3d GLH_CORE_NAME(glMultiTexCoord3d)
#define glMultiTexCoord3dv GLH_CORE_NAME(glMultiTexCoord3dv)
#define glMultiTexCoord3f GLH_CORE_NAME(glMultiTexCoord3f)
#define glMultiTexCoord3fv GLH_CORE_NAME(glMultiTexCoord3fv)
#define glMultiTexCoord3i GLH_CORE_NAME(glMultiTexCoord3i)
#define glMultiTexCoord3iv GLH_CORE_NAME(glMultiTexCoord3iv)
#define glMultiTexCoord3s GLH_CORE_NAME(glMultiTexCoord3s)
#define glMultiTexCoord3sv GLH_CORE_NAME(glMultiTexCoord3sv)
#define glMultiTexCoord4d GLH_CORE_NAME(glMultiTexCoord4d)
#define glMultiTexCoord4dv GLH_CORE_NAME(glMultiTexCoord4dv)
#define glMultiTexCoord4f GLH_CORE_NAME(glMultiTexCoord4f)
#define glMultiTexCoord4fv GLH_CORE_NAME(glMultiTexCoord4fv)
#define glMultiTexCoord4i GLH_CORE_NAME(glMultiTexCoord4i)
#define glMultiTexCoord4iv GLH_CORE_NAME(glMultiTexCoord4iv)
#define glMultiTexCoord4s GLH_CORE_NAME(glMultiTexCoord4s)
#define glMultiTexCoord4sv GLH_CORE_NAME(glMultiTexCoord4sv)
#define glActiveTexture GLH_CORE_NAME(glActiveTexture)
#define glClientActiveTexture GLH_CORE_NAME(glClientActiveTexture)
#endif
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_3) || defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
    /* These routines are prefixed by the preprocessor constant
       GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
#define glCompressedTexImage3D GLH_CORE_NAME(glCompressedTexImage3D)
#define glCompressedTexImage2D GLH_CORE_NAME(glCompressedTexImage2D)
#define glCompressedTexImage1D GLH_CORE_NAME(glCompressedTexImage1D)
#define glCompressedTexSubImage3D GLH_CORE_NAME(glCompressedTexSubImage3D)
#define glCompressedTexSubImage2D GLH_CORE_NAME(glCompressedTexSubImage2D)
#define glCompressedTexSubImage1D GLH_CORE_NAME(glCompressedTexSubImage1D)
#define glGetCompressedTexImage GLH_CORE_NAME(glGetCompressedTexImage)
#define glSampleCoverage GLH_CORE_NAME(glSampleCoverage)
#define glLoadTransposeMatrixf GLH_CORE_NAME(glLoadTransposeMatrixf)
#define glLoadTransposeMatrixd GLH_CORE_NAME(glLoadTransposeMatrixd)
#define glMultTransposeMatrixf GLH_CORE_NAME(glMultTransposeMatrixf)
#define glMultTransposeMatrixd GLH_CORE_NAME(glMultTransposeMatrixd)
#endif
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_4) || defined(GL_VERSION_1_5)
    /* These routines are prefixed by the preprocessor constant
       GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
#define glMultiDrawArrays GLH_CORE_NAME(glMultiDrawArrays)
#define glMultiDrawElements GLH_CORE_NAME(glMultiDrawElements)
#define glPointParameterf GLH_CORE_NAME(glPointParameterf)
#define glPointParameterfv GLH_CORE_NAME(glPointParameterfv)
#define glSecondaryColor3b GLH_CORE_NAME(glSecondaryColor3b)
#define glSecondaryColor3bv GLH_CORE_NAME(glSecondaryColor3bv)
#define glSecondaryColor3d GLH_CORE_NAME(glSecondaryColor3d)
#define glSecondaryColor3dv GLH_CORE_NAME(glSecondaryColor3dv)
#define glSecondaryColor3f GLH_CORE_NAME(glSecondaryColor3f)
#define glSecondaryColor3fv GLH_CORE_NAME(glSecondaryColor3fv)
#define glSecondaryColor3i GLH_CORE_NAME(glSecondaryColor3i)
#define glSecondaryColor3iv GLH_CORE_NAME(glSecondaryColor3iv)
#define glSecondaryColor3s GLH_CORE_NAME(glSecondaryColor3s)
#define glSecondaryColor3sv GLH_CORE_NAME(glSecondaryColor3sv)
#define glSecondaryColor3ub GLH_CORE_NAME(glSecondaryColor3ub)
#define glSecondaryColor3ubv GLH_CORE_NAME(glSecondaryColor3ubv)
#define glSecondaryColor3ui GLH_CORE_NAME(glSecondaryColor3ui)
#define glSecondaryColor3uiv GLH_CORE_NAME(glSecondaryColor3uiv)
#define glSecondaryColor3us GLH_CORE_NAME(glSecondaryColor3us)
#define glSecondaryColor3usv GLH_CORE_NAME(glSecondaryColor3usv)
#define glSecondaryColorPointer GLH_CORE_NAME(glSecondaryColorPointer)
#define glBlendFuncSeparate GLH_CORE_NAME(glBlendFuncSeparate)
#define glWindowPos2d GLH_CORE_NAME(glWindowPos2d)
#define glWindowPos2f GLH_CORE_NAME(glWindowPos2f)
#define glWindowPos2i GLH_CORE_NAME(glWindowPos2i)
#define glWindowPos2s GLH_CORE_NAME(glWindowPos2s)
#define glWindowPos2dv GLH_CORE_NAME(glWindowPos2dv)
#define glWindowPos2fv GLH_CORE_NAME(glWindowPos2fv)
#define glWindowPos2iv GLH_CORE_NAME(glWindowPos2iv)
#define glWindowPos2sv GLH_CORE_NAME(glWindowPos2sv)
#define glWindowPos3d GLH_CORE_NAME(glWindowPos3d)
#define glWindowPos3f GLH_CORE_NAME(glWindowPos3f)
#define glWindowPos3i GLH_CORE_NAME(glWindowPos3i)
#define glWindowPos3s GLH_CORE_NAME(glWindowPos3s)
#define glWindowPos3dv GLH_CORE_NAME(glWindowPos3dv)
#define glWindowPos3fv GLH_CORE_NAME(glWindowPos3fv)
#define glWindowPos3iv GLH_CORE_NAME(glWindowPos3iv)
#define glWindowPos3sv GLH_CORE_NAME(glWindowPos3sv)
#endif
#endif

#ifdef _WIN32
#if defined(GL_VERSION_1_5)
    /* These routines are prefixed by the preprocessor constant
       GLH_CORE_PREFIX to avoid colliding with the OpenGL 1.1 namespace. */
#define glGenQueries GLH_CORE_NAME(glGenQueries)
#define glDeleteQueries GLH_CORE_NAME(glDeleteQueries)
#define glIsQuery GLH_CORE_NAME(glIsQuery)
#define glBeginQuery GLH_CORE_NAME(glBeginQuery)
#define glEndQuery GLH_CORE_NAME(glEndQuery)
#define glGetQueryiv GLH_CORE_NAME(glGetQueryiv)
#define glGetQueryObjectiv GLH_CORE_NAME(glGetQueryObjectiv)
#define glGetQueryObjectuiv GLH_CORE_NAME(glGetQueryObjectuiv)
#define glBindBuffer GLH_CORE_NAME(glBindBuffer)
#define glDeleteBuffers GLH_CORE_NAME(glDeleteBuffers)
#define glGenBuffers GLH_CORE_NAME(glGenBuffers)
#define glIsBuffer GLH_CORE_NAME(glIsBuffer)
#define glBufferData GLH_CORE_NAME(glBufferData)
#define glBufferSubData GLH_CORE_NAME(glBufferSubData)
#define glGetBufferSubData GLH_CORE_NAME(glGetBufferSubData)
#define glMapBuffer GLH_CORE_NAME(glMapBuffer)
#define glUnmapBuffer GLH_CORE_NAME(glUnmapBuffer)
#define glGetBufferParameteriv GLH_CORE_NAME(glGetBufferParameteriv)
#define glGetBufferPointerv GLH_CORE_NAME(glGetBufferPointerv)
#endif
#endif

#ifdef GL_ARB_depth_texture
#endif

#ifdef GL_ARB_fragment_program
#endif

#ifdef GL_ARB_fragment_program_shadow
#endif

#ifdef GL_ARB_fragment_shader
#endif

#ifdef GL_ARB_matrix_palette
#endif

#ifdef GL_ARB_multisample
#endif

#ifdef GL_ARB_multitexture
#define glMultiTexCoord1dARB GLH_EXT_NAME(glMultiTexCoord1dARB)
#define glMultiTexCoord1dvARB GLH_EXT_NAME(glMultiTexCoord1dvARB)
#define glMultiTexCoord1fARB GLH_EXT_NAME(glMultiTexCoord1fARB)
#define glMultiTexCoord1fvARB GLH_EXT_NAME(glMultiTexCoord1fvARB)
#define glMultiTexCoord1iARB GLH_EXT_NAME(glMultiTexCoord1iARB)
#define glMultiTexCoord1ivARB GLH_EXT_NAME(glMultiTexCoord1ivARB)
#define glMultiTexCoord1sARB GLH_EXT_NAME(glMultiTexCoord1sARB)
#define glMultiTexCoord1svARB GLH_EXT_NAME(glMultiTexCoord1svARB)
#define glMultiTexCoord2dARB GLH_EXT_NAME(glMultiTexCoord2dARB)
#define glMultiTexCoord2dvARB GLH_EXT_NAME(glMultiTexCoord2dvARB)
#define glMultiTexCoord2fARB GLH_EXT_NAME(glMultiTexCoord2fARB)
#define glMultiTexCoord2fvARB GLH_EXT_NAME(glMultiTexCoord2fvARB)
#define glMultiTexCoord2iARB GLH_EXT_NAME(glMultiTexCoord2iARB)
#define glMultiTexCoord2ivARB GLH_EXT_NAME(glMultiTexCoord2ivARB)
#define glMultiTexCoord2sARB GLH_EXT_NAME(glMultiTexCoord2sARB)
#define glMultiTexCoord2svARB GLH_EXT_NAME(glMultiTexCoord2svARB)
#define glMultiTexCoord3dARB GLH_EXT_NAME(glMultiTexCoord3dARB)
#define glMultiTexCoord3dvARB GLH_EXT_NAME(glMultiTexCoord3dvARB)
#define glMultiTexCoord3fARB GLH_EXT_NAME(glMultiTexCoord3fARB)
#define glMultiTexCoord3fvARB GLH_EXT_NAME(glMultiTexCoord3fvARB)
#define glMultiTexCoord3iARB GLH_EXT_NAME(glMultiTexCoord3iARB)
#define glMultiTexCoord3ivARB GLH_EXT_NAME(glMultiTexCoord3ivARB)
#define glMultiTexCoord3sARB GLH_EXT_NAME(glMultiTexCoord3sARB)
#define glMultiTexCoord3svARB GLH_EXT_NAME(glMultiTexCoord3svARB)
#define glMultiTexCoord4dARB GLH_EXT_NAME(glMultiTexCoord4dARB)
#define glMultiTexCoord4dvARB GLH_EXT_NAME(glMultiTexCoord4dvARB)
#define glMultiTexCoord4fARB GLH_EXT_NAME(glMultiTexCoord4fARB)
#define glMultiTexCoord4fvARB GLH_EXT_NAME(glMultiTexCoord4fvARB)
#define glMultiTexCoord4iARB GLH_EXT_NAME(glMultiTexCoord4iARB)
#define glMultiTexCoord4ivARB GLH_EXT_NAME(glMultiTexCoord4ivARB)
#define glMultiTexCoord4sARB GLH_EXT_NAME(glMultiTexCoord4sARB)
#define glMultiTexCoord4svARB GLH_EXT_NAME(glMultiTexCoord4svARB)
#define glActiveTextureARB GLH_EXT_NAME(glActiveTextureARB)
#define glClientActiveTextureARB GLH_EXT_NAME(glClientActiveTextureARB)
#endif

#ifdef GL_ARB_occlusion_query
#define glGenQueriesARB GLH_EXT_NAME(glGenQueriesARB)
#define glDeleteQueriesARB GLH_EXT_NAME(glDeleteQueriesARB)
#define glIsQueryARB GLH_EXT_NAME(glIsQueryARB)
#define glBeginQueryARB GLH_EXT_NAME(glBeginQueryARB)
#define glEndQueryARB GLH_EXT_NAME(glEndQueryARB)
#define glGetQueryivARB GLH_EXT_NAME(glGetQueryivARB)
#define glGetQueryObjectivARB GLH_EXT_NAME(glGetQueryObjectivARB)
#define glGetQueryObjectuivARB GLH_EXT_NAME(glGetQueryObjectuivARB)
#endif

#ifdef GL_ARB_point_parameters
#define glPointParameterfARB GLH_EXT_NAME(glPointParameterfARB)
#define glPointParameterfvARB GLH_EXT_NAME(glPointParameterfvARB)
#endif

#ifdef GL_ARB_point_sprite
#endif

#ifdef GL_ARB_shader_objects
#define glDeleteObjectARB GLH_EXT_NAME(glDeleteObjectARB)
#define glGetHandleARB GLH_EXT_NAME(glGetHandleARB)
#define glDetachObjectARB GLH_EXT_NAME(glDetachObjectARB)
#define glCreateShaderObjectARB GLH_EXT_NAME(glCreateShaderObjectARB)
#define glShaderSourceARB GLH_EXT_NAME(glShaderSourceARB)
#define glCompileShaderARB GLH_EXT_NAME(glCompileShaderARB)
#define glCreateProgramObjectARB GLH_EXT_NAME(glCreateProgramObjectARB)
#define glAttachObjectARB GLH_EXT_NAME(glAttachObjectARB)
#define glLinkProgramARB GLH_EXT_NAME(glLinkProgramARB)
#define glUseProgramObjectARB GLH_EXT_NAME(glUseProgramObjectARB)
#define glValidateProgramARB GLH_EXT_NAME(glValidateProgramARB)
#define glUniform1fARB GLH_EXT_NAME(glUniform1fARB)
#define glUniform2fARB GLH_EXT_NAME(glUniform2fARB)
#define glUniform3fARB GLH_EXT_NAME(glUniform3fARB)
#define glUniform4fARB GLH_EXT_NAME(glUniform4fARB)
#define glUniform1iARB GLH_EXT_NAME(glUniform1iARB)
#define glUniform2iARB GLH_EXT_NAME(glUniform2iARB)
#define glUniform3iARB GLH_EXT_NAME(glUniform3iARB)
#define glUniform4iARB GLH_EXT_NAME(glUniform4iARB)
#define glUniform1fvARB GLH_EXT_NAME(glUniform1fvARB)
#define glUniform2fvARB GLH_EXT_NAME(glUniform2fvARB)
#define glUniform3fvARB GLH_EXT_NAME(glUniform3fvARB)
#define glUniform4fvARB GLH_EXT_NAME(glUniform4fvARB)
#define glUniform1ivARB GLH_EXT_NAME(glUniform1ivARB)
#define glUniform2ivARB GLH_EXT_NAME(glUniform2ivARB)
#define glUniform3ivARB GLH_EXT_NAME(glUniform3ivARB)
#define glUniform4ivARB GLH_EXT_NAME(glUniform4ivARB)
#define glUniformMatrix2fvARB GLH_EXT_NAME(glUniformMatrix2fvARB)
#define glUniformMatrix3fvARB GLH_EXT_NAME(glUniformMatrix3fvARB)
#define glUniformMatrix4fvARB GLH_EXT_NAME(glUniformMatrix4fvARB)
#define glGetObjectParameterfvARB GLH_EXT_NAME(glGetObjectParameterfvARB)
#define glGetObjectParameterivARB GLH_EXT_NAME(glGetObjectParameterivARB)
#define glGetInfoLogARB GLH_EXT_NAME(glGetInfoLogARB)
#define glGetAttachedObjectsARB GLH_EXT_NAME(glGetAttachedObjectsARB)
#define glGetUniformLocationARB GLH_EXT_NAME(glGetUniformLocationARB)
#define glGetActiveUniformARB GLH_EXT_NAME(glGetActiveUniformARB)
#define glGetUniformfvARB GLH_EXT_NAME(glGetUniformfvARB)
#define glGetUniformivARB GLH_EXT_NAME(glGetUniformivARB)
#define glGetShaderSourceARB GLH_EXT_NAME(glGetShaderSourceARB)
#endif

#ifdef GL_ARB_shadow
#endif

#ifdef GL_ARB_shadow_ambient
#endif

#ifdef GL_ARB_texture_border_clamp
#endif

#ifdef GL_ARB_texture_compression
#define glCompressedTexImage3DARB GLH_EXT_NAME(glCompressedTexImage3DARB)
#define glCompressedTexImage2DARB GLH_EXT_NAME(glCompressedTexImage2DARB)
#define glCompressedTexImage1DARB GLH_EXT_NAME(glCompressedTexImage1DARB)
#define glCompressedTexSubImage3DARB GLH_EXT_NAME(glCompressedTexSubImage3DARB)
#define glCompressedTexSubImage2DARB GLH_EXT_NAME(glCompressedTexSubImage2DARB)
#define glCompressedTexSubImage1DARB GLH_EXT_NAME(glCompressedTexSubImage1DARB)
#define glGetCompressedTexImageARB GLH_EXT_NAME(glGetCompressedTexImageARB)
#endif

#ifdef GL_ARB_texture_cube_map
#endif

#ifdef GL_ARB_texture_env_add
#endif

#ifdef GL_ARB_texture_env_combine
#endif

#ifdef GL_ARB_texture_env_dot3
#endif

#ifdef GL_ARB_texture_mirrored_repeat
#endif

#ifdef GL_ARB_texture_non_power_of_two
#endif

#ifdef GL_ARB_texture_rectangle
#endif

#ifdef GL_ARB_transpose_matrix
#define glLoadTransposeMatrixfARB GLH_EXT_NAME(glLoadTransposeMatrixfARB)
#define glLoadTransposeMatrixdARB GLH_EXT_NAME(glLoadTransposeMatrixdARB)
#define glMultTransposeMatrixfARB GLH_EXT_NAME(glMultTransposeMatrixfARB)
#define glMultTransposeMatrixdARB GLH_EXT_NAME(glMultTransposeMatrixdARB)
#endif

#ifdef GL_ARB_vertex_buffer_object
#define glBindBufferARB GLH_EXT_NAME(glBindBufferARB)
#define glDeleteBuffersARB GLH_EXT_NAME(glDeleteBuffersARB)
#define glGenBuffersARB GLH_EXT_NAME(glGenBuffersARB)
#define glIsBufferARB GLH_EXT_NAME(glIsBufferARB)
#define glBufferDataARB GLH_EXT_NAME(glBufferDataARB)
#define glBufferSubDataARB GLH_EXT_NAME(glBufferSubDataARB)
#define glGetBufferSubDataARB GLH_EXT_NAME(glGetBufferSubDataARB)
#define glMapBufferARB GLH_EXT_NAME(glMapBufferARB)
#define glUnmapBufferARB GLH_EXT_NAME(glUnmapBufferARB)
#define glGetBufferParameterivARB GLH_EXT_NAME(glGetBufferParameterivARB)
#define glGetBufferPointervARB GLH_EXT_NAME(glGetBufferPointervARB)
#endif

#ifdef GL_ARB_vertex_program
#define glVertexAttrib1sARB GLH_EXT_NAME(glVertexAttrib1sARB)
#define glVertexAttrib1fARB GLH_EXT_NAME(glVertexAttrib1fARB)
#define glVertexAttrib1dARB GLH_EXT_NAME(glVertexAttrib1dARB)
#define glVertexAttrib2sARB GLH_EXT_NAME(glVertexAttrib2sARB)
#define glVertexAttrib2fARB GLH_EXT_NAME(glVertexAttrib2fARB)
#define glVertexAttrib2dARB GLH_EXT_NAME(glVertexAttrib2dARB)
#define glVertexAttrib3sARB GLH_EXT_NAME(glVertexAttrib3sARB)
#define glVertexAttrib3fARB GLH_EXT_NAME(glVertexAttrib3fARB)
#define glVertexAttrib3dARB GLH_EXT_NAME(glVertexAttrib3dARB)
#define glVertexAttrib4sARB GLH_EXT_NAME(glVertexAttrib4sARB)
#define glVertexAttrib4fARB GLH_EXT_NAME(glVertexAttrib4fARB)
#define glVertexAttrib4dARB GLH_EXT_NAME(glVertexAttrib4dARB)
#define glVertexAttrib4NubARB GLH_EXT_NAME(glVertexAttrib4NubARB)
#define glVertexAttrib1svARB GLH_EXT_NAME(glVertexAttrib1svARB)
#define glVertexAttrib1fvARB GLH_EXT_NAME(glVertexAttrib1fvARB)
#define glVertexAttrib1dvARB GLH_EXT_NAME(glVertexAttrib1dvARB)
#define glVertexAttrib2svARB GLH_EXT_NAME(glVertexAttrib2svARB)
#define glVertexAttrib2fvARB GLH_EXT_NAME(glVertexAttrib2fvARB)
#define glVertexAttrib2dvARB GLH_EXT_NAME(glVertexAttrib2dvARB)
#define glVertexAttrib3svARB GLH_EXT_NAME(glVertexAttrib3svARB)
#define glVertexAttrib3fvARB GLH_EXT_NAME(glVertexAttrib3fvARB)
#define glVertexAttrib3dvARB GLH_EXT_NAME(glVertexAttrib3dvARB)
#define glVertexAttrib4bvARB GLH_EXT_NAME(glVertexAttrib4bvARB)
#define glVertexAttrib4svARB GLH_EXT_NAME(glVertexAttrib4svARB)
#define glVertexAttrib4ivARB GLH_EXT_NAME(glVertexAttrib4ivARB)
#define glVertexAttrib4ubvARB GLH_EXT_NAME(glVertexAttrib4ubvARB)
#define glVertexAttrib4usvARB GLH_EXT_NAME(glVertexAttrib4usvARB)
#define glVertexAttrib4uivARB GLH_EXT_NAME(glVertexAttrib4uivARB)
#define glVertexAttrib4fvARB GLH_EXT_NAME(glVertexAttrib4fvARB)
#define glVertexAttrib4dvARB GLH_EXT_NAME(glVertexAttrib4dvARB)
#define glVertexAttrib4NbvARB GLH_EXT_NAME(glVertexAttrib4NbvARB)
#define glVertexAttrib4NsvARB GLH_EXT_NAME(glVertexAttrib4NsvARB)
#define glVertexAttrib4NivARB GLH_EXT_NAME(glVertexAttrib4NivARB)
#define glVertexAttrib4NubvARB GLH_EXT_NAME(glVertexAttrib4NubvARB)
#define glVertexAttrib4NusvARB GLH_EXT_NAME(glVertexAttrib4NusvARB)
#define glVertexAttrib4NuivARB GLH_EXT_NAME(glVertexAttrib4NuivARB)
#define glVertexAttribPointerARB GLH_EXT_NAME(glVertexAttribPointerARB)
#define glEnableVertexAttribArrayARB GLH_EXT_NAME(glEnableVertexAttribArrayARB)
#define glDisableVertexAttribArrayARB GLH_EXT_NAME(glDisableVertexAttribArrayARB)
#define glProgramStringARB GLH_EXT_NAME(glProgramStringARB)
#define glBindProgramARB GLH_EXT_NAME(glBindProgramARB)
#define glDeleteProgramsARB GLH_EXT_NAME(glDeleteProgramsARB)
#define glGenProgramsARB GLH_EXT_NAME(glGenProgramsARB)
#define glProgramEnvParameter4dARB GLH_EXT_NAME(glProgramEnvParameter4dARB)
#define glProgramEnvParameter4dvARB GLH_EXT_NAME(glProgramEnvParameter4dvARB)
#define glProgramEnvParameter4fARB GLH_EXT_NAME(glProgramEnvParameter4fARB)
#define glProgramEnvParameter4fvARB GLH_EXT_NAME(glProgramEnvParameter4fvARB)
#define glProgramLocalParameter4dARB GLH_EXT_NAME(glProgramLocalParameter4dARB)
#define glProgramLocalParameter4dvARB GLH_EXT_NAME(glProgramLocalParameter4dvARB)
#define glProgramLocalParameter4fARB GLH_EXT_NAME(glProgramLocalParameter4fARB)
#define glProgramLocalParameter4fvARB GLH_EXT_NAME(glProgramLocalParameter4fvARB)
#define glGetProgramEnvParameterdvARB GLH_EXT_NAME(glGetProgramEnvParameterdvARB)
#define glGetProgramEnvParameterfvARB GLH_EXT_NAME(glGetProgramEnvParameterfvARB)
#define glGetProgramLocalParameterdvARB GLH_EXT_NAME(glGetProgramLocalParameterdvARB)
#define glGetProgramLocalParameterfvARB GLH_EXT_NAME(glGetProgramLocalParameterfvARB)
#define glGetProgramivARB GLH_EXT_NAME(glGetProgramivARB)
#define glGetProgramStringARB GLH_EXT_NAME(glGetProgramStringARB)
#define glGetVertexAttribdvARB GLH_EXT_NAME(glGetVertexAttribdvARB)
#define glGetVertexAttribfvARB GLH_EXT_NAME(glGetVertexAttribfvARB)
#define glGetVertexAttribivARB GLH_EXT_NAME(glGetVertexAttribivARB)
#define glGetVertexAttribPointervARB GLH_EXT_NAME(glGetVertexAttribPointervARB)
#define glIsProgramARB GLH_EXT_NAME(glIsProgramARB)
#endif

#ifdef GL_ARB_vertex_shader
#define glBindAttribLocationARB GLH_EXT_NAME(glBindAttribLocationARB)
#define glGetActiveAttribARB GLH_EXT_NAME(glGetActiveAttribARB)
#define glGetAttribLocationARB GLH_EXT_NAME(glGetAttribLocationARB)
#endif

#ifdef GL_ARB_window_pos
#define glWindowPos2dARB GLH_EXT_NAME(glWindowPos2dARB)
#define glWindowPos2fARB GLH_EXT_NAME(glWindowPos2fARB)
#define glWindowPos2iARB GLH_EXT_NAME(glWindowPos2iARB)
#define glWindowPos2sARB GLH_EXT_NAME(glWindowPos2sARB)
#define glWindowPos2dvARB GLH_EXT_NAME(glWindowPos2dvARB)
#define glWindowPos2fvARB GLH_EXT_NAME(glWindowPos2fvARB)
#define glWindowPos2ivARB GLH_EXT_NAME(glWindowPos2ivARB)
#define glWindowPos2svARB GLH_EXT_NAME(glWindowPos2svARB)
#define glWindowPos3dARB GLH_EXT_NAME(glWindowPos3dARB)
#define glWindowPos3fARB GLH_EXT_NAME(glWindowPos3fARB)
#define glWindowPos3iARB GLH_EXT_NAME(glWindowPos3iARB)
#define glWindowPos3sARB GLH_EXT_NAME(glWindowPos3sARB)
#define glWindowPos3dvARB GLH_EXT_NAME(glWindowPos3dvARB)
#define glWindowPos3fvARB GLH_EXT_NAME(glWindowPos3fvARB)
#define glWindowPos3ivARB GLH_EXT_NAME(glWindowPos3ivARB)
#define glWindowPos3svARB GLH_EXT_NAME(glWindowPos3svARB)
#endif

#ifdef GL_ATI_draw_buffers
#define glDrawBuffersATI GLH_EXT_NAME(glDrawBuffersATI)
#endif

#ifdef GL_ATI_texture_float
#endif

#ifdef GL_EXT_abgr
#endif

#ifdef GL_EXT_bgra
#endif

#ifdef GL_EXT_blend_color
#define glBlendColorEXT GLH_EXT_NAME(glBlendColorEXT)
#endif

#ifdef GL_EXT_blend_equation_separate
#define glBlendEquationSeparateEXT GLH_EXT_NAME(glBlendEquationSeparateEXT)
#endif

#ifdef GL_EXT_blend_func_separate
#define glBlendFuncSeparateEXT GLH_EXT_NAME(glBlendFuncSeparateEXT)
#endif

#ifdef GL_EXT_blend_minmax
#define glBlendEquationEXT GLH_EXT_NAME(glBlendEquationEXT)
#endif

#ifdef GL_EXT_blend_subtract
#endif

#ifdef GL_EXT_Cg_shader
#endif

#ifdef GL_EXT_compiled_vertex_array
#define glLockArraysEXT GLH_EXT_NAME(glLockArraysEXT)
#define glUnlockArraysEXT GLH_EXT_NAME(glUnlockArraysEXT)
#endif

#ifdef GL_EXT_depth_bounds_test
#define glDepthBoundsEXT GLH_EXT_NAME(glDepthBoundsEXT)
#endif

#ifdef GL_EXT_draw_range_elements
#endif

#ifdef GL_EXT_fog_coord
#define glFogCoorddEXT GLH_EXT_NAME(glFogCoorddEXT)
#define glFogCoorddvEXT GLH_EXT_NAME(glFogCoorddvEXT)
#define glFogCoordfEXT GLH_EXT_NAME(glFogCoordfEXT)
#define glFogCoordfvEXT GLH_EXT_NAME(glFogCoordfvEXT)
#define glFogCoordPointerEXT GLH_EXT_NAME(glFogCoordPointerEXT)
#endif

#ifdef GL_EXT_framebuffer_object
#define glIsRenderbufferEXT GLH_EXT_NAME(glIsRenderbufferEXT)
#define glBindRenderbufferEXT GLH_EXT_NAME(glBindRenderbufferEXT)
#define glDeleteRenderbuffersEXT GLH_EXT_NAME(glDeleteRenderbuffersEXT)
#define glGenRenderbuffersEXT GLH_EXT_NAME(glGenRenderbuffersEXT)
#define glRenderbufferStorageEXT GLH_EXT_NAME(glRenderbufferStorageEXT)
#define glGetRenderbufferParameterivEXT GLH_EXT_NAME(glGetRenderbufferParameterivEXT)
#define glIsFramebufferEXT GLH_EXT_NAME(glIsFramebufferEXT)
#define glBindFramebufferEXT GLH_EXT_NAME(glBindFramebufferEXT)
#define glDeleteFramebuffersEXT GLH_EXT_NAME(glDeleteFramebuffersEXT)
#define glGenFramebuffersEXT GLH_EXT_NAME(glGenFramebuffersEXT)
#define glCheckFramebufferStatusEXT GLH_EXT_NAME(glCheckFramebufferStatusEXT)
#define glFramebufferTexture1DEXT GLH_EXT_NAME(glFramebufferTexture1DEXT)
#define glFramebufferTexture2DEXT GLH_EXT_NAME(glFramebufferTexture2DEXT)
#define glFramebufferTexture3DEXT GLH_EXT_NAME(glFramebufferTexture3DEXT)
#define glFramebufferRenderbufferEXT GLH_EXT_NAME(glFramebufferRenderbufferEXT)
#define glGetFramebufferAttachmentParameterivEXT GLH_EXT_NAME(glGetFramebufferAttachmentParameterivEXT)
#define glGenerateMipmapEXT GLH_EXT_NAME(glGenerateMipmapEXT)
#endif

#ifdef GL_EXT_multi_draw_arrays
#define glMultiDrawArraysEXT GLH_EXT_NAME(glMultiDrawArraysEXT)
#define glMultiDrawElementsEXT GLH_EXT_NAME(glMultiDrawElementsEXT)
#endif

#ifdef GL_EXT_light_max_exponent
#endif

#ifdef GL_EXT_packed_pixels
#endif

#ifdef GL_EXT_paletted_texture
#define glColorSubTableEXT GLH_EXT_NAME(glColorSubTableEXT)
#define glColorTableEXT GLH_EXT_NAME(glColorTableEXT)
#define glGetColorTableEXT GLH_EXT_NAME(glGetColorTableEXT)
#define glGetColorTableParameterfvEXT GLH_EXT_NAME(glGetColorTableParameterfvEXT)
#define glGetColorTableParameterivEXT GLH_EXT_NAME(glGetColorTableParameterivEXT)
#endif

#ifdef GL_EXT_pixel_buffer_object
#endif

#ifdef GL_EXT_point_parameters
#define glPointParameterfEXT GLH_EXT_NAME(glPointParameterfEXT)
#define glPointParameterfvEXT GLH_EXT_NAME(glPointParameterfvEXT)
#endif

#ifdef GL_EXT_rescale_normal
#endif

#ifdef GL_EXT_secondary_color
#define glSecondaryColor3bEXT GLH_EXT_NAME(glSecondaryColor3bEXT)
#define glSecondaryColor3bvEXT GLH_EXT_NAME(glSecondaryColor3bvEXT)
#define glSecondaryColor3dEXT GLH_EXT_NAME(glSecondaryColor3dEXT)
#define glSecondaryColor3dvEXT GLH_EXT_NAME(glSecondaryColor3dvEXT)
#define glSecondaryColor3fEXT GLH_EXT_NAME(glSecondaryColor3fEXT)
#define glSecondaryColor3fvEXT GLH_EXT_NAME(glSecondaryColor3fvEXT)
#define glSecondaryColor3iEXT GLH_EXT_NAME(glSecondaryColor3iEXT)
#define glSecondaryColor3ivEXT GLH_EXT_NAME(glSecondaryColor3ivEXT)
#define glSecondaryColor3sEXT GLH_EXT_NAME(glSecondaryColor3sEXT)
#define glSecondaryColor3svEXT GLH_EXT_NAME(glSecondaryColor3svEXT)
#define glSecondaryColor3ubEXT GLH_EXT_NAME(glSecondaryColor3ubEXT)
#define glSecondaryColor3ubvEXT GLH_EXT_NAME(glSecondaryColor3ubvEXT)
#define glSecondaryColor3uiEXT GLH_EXT_NAME(glSecondaryColor3uiEXT)
#define glSecondaryColor3uivEXT GLH_EXT_NAME(glSecondaryColor3uivEXT)
#define glSecondaryColor3usEXT GLH_EXT_NAME(glSecondaryColor3usEXT)
#define glSecondaryColor3usvEXT GLH_EXT_NAME(glSecondaryColor3usvEXT)
#define glSecondaryColorPointerEXT GLH_EXT_NAME(glSecondaryColorPointerEXT)
#endif

#ifdef GL_EXT_separate_specular_color
#endif

#ifdef GL_EXT_shadow_funcs
#endif

#ifdef GL_EXT_shared_texture_palette
#endif

#ifdef GL_EXT_stencil_two_side
#define glActiveStencilFaceEXT GLH_EXT_NAME(glActiveStencilFaceEXT)
#endif

#ifdef GL_EXT_stencil_wrap
#endif

#ifdef GL_EXT_texture_compression_s3tc
#endif

#ifdef GL_EXT_texture_cube_map
#endif

#ifdef GL_EXT_texture_edge_clamp
#endif

#ifdef GL_EXT_texture_env_add
#endif

#ifdef GL_EXT_texture_env_combine
#endif

#ifdef GL_EXT_texture_env_dot3
#endif

#ifdef GL_EXT_texture_filter_anisotropic
#endif

#ifdef GL_EXT_texture_lod_bias
#endif

#ifdef GL_EXT_texture_object
#define glAreTexturesResidentEXT GLH_EXT_NAME(glAreTexturesResidentEXT)
#define glBindTextureEXT GLH_EXT_NAME(glBindTextureEXT)
#define glDeleteTexturesEXT GLH_EXT_NAME(glDeleteTexturesEXT)
#define glGenTexturesEXT GLH_EXT_NAME(glGenTexturesEXT)
#define glIsTextureEXT GLH_EXT_NAME(glIsTextureEXT)
#define glPrioritizeTexturesEXT GLH_EXT_NAME(glPrioritizeTexturesEXT)
#endif

#ifdef GL_EXT_texture_rectangle
#endif

#ifdef GL_EXT_texture3D
#define glTexImage3DEXT GLH_EXT_NAME(glTexImage3DEXT)
#endif

#ifdef GL_EXT_vertex_array
#define glArrayElementEXT GLH_EXT_NAME(glArrayElementEXT)
#define glColorPointerEXT GLH_EXT_NAME(glColorPointerEXT)
#define glEdgeFlagPointerEXT GLH_EXT_NAME(glEdgeFlagPointerEXT)
#define glGetPointervEXT GLH_EXT_NAME(glGetPointervEXT)
#define glIndexPointerEXT GLH_EXT_NAME(glIndexPointerEXT)
#define glNormalPointerEXT GLH_EXT_NAME(glNormalPointerEXT)
#define glTexCoordPointerEXT GLH_EXT_NAME(glTexCoordPointerEXT)
#define glVertexPointerEXT GLH_EXT_NAME(glVertexPointerEXT)
#define glDrawArraysEXT GLH_EXT_NAME(glDrawArraysEXT)
#endif

#ifdef GL_EXT_vertex_weighting
#define glVertexWeightfEXT GLH_EXT_NAME(glVertexWeightfEXT)
#define glVertexWeightfvEXT GLH_EXT_NAME(glVertexWeightfvEXT)
#define glVertexWeightPointerEXT GLH_EXT_NAME(glVertexWeightPointerEXT)
#endif

#ifdef GL_HP_occlusion_test
#endif

#ifdef GL_IBM_texture_mirrored_repeat
#endif

#ifdef GL_NV_blend_square
#endif

#ifdef GL_NV_copy_depth_to_color
#endif

#ifdef GL_NV_depth_clamp
#endif

#ifdef GL_NV_element_array
#define glElementPointerNV GLH_EXT_NAME(glElementPointerNV)
#define glDrawElementArrayNV GLH_EXT_NAME(glDrawElementArrayNV)
#define glDrawRangeElementArrayNV GLH_EXT_NAME(glDrawRangeElementArrayNV)
#define glMultiDrawElementArrayNV GLH_EXT_NAME(glMultiDrawElementArrayNV)
#define glMultiDrawRangeElementArrayNV GLH_EXT_NAME(glMultiDrawRangeElementArrayNV)
#endif

#ifdef GL_NV_fence
#define glGenFencesNV GLH_EXT_NAME(glGenFencesNV)
#define glDeleteFencesNV GLH_EXT_NAME(glDeleteFencesNV)
#define glSetFenceNV GLH_EXT_NAME(glSetFenceNV)
#define glTestFenceNV GLH_EXT_NAME(glTestFenceNV)
#define glFinishFenceNV GLH_EXT_NAME(glFinishFenceNV)
#define glIsFenceNV GLH_EXT_NAME(glIsFenceNV)
#define glGetFenceivNV GLH_EXT_NAME(glGetFenceivNV)
#endif

#ifdef GL_NV_float_buffer
#endif

#ifdef GL_NV_fog_distance
#endif

#ifdef GL_NV_fragment_program
#define glProgramNamedParameter4fNV GLH_EXT_NAME(glProgramNamedParameter4fNV)
#define glProgramNamedParameter4dNV GLH_EXT_NAME(glProgramNamedParameter4dNV)
#define glProgramNamedParameter4fvNV GLH_EXT_NAME(glProgramNamedParameter4fvNV)
#define glProgramNamedParameter4dvNV GLH_EXT_NAME(glProgramNamedParameter4dvNV)
#define glGetProgramNamedParameterfvNV GLH_EXT_NAME(glGetProgramNamedParameterfvNV)
#define glGetProgramNamedParameterdvNV GLH_EXT_NAME(glGetProgramNamedParameterdvNV)
#endif

#ifdef GL_NV_fragment_program2
#endif

#ifdef GL_NV_half_float
#define glVertex2hNV GLH_EXT_NAME(glVertex2hNV)
#define glVertex2hvNV GLH_EXT_NAME(glVertex2hvNV)
#define glVertex3hNV GLH_EXT_NAME(glVertex3hNV)
#define glVertex3hvNV GLH_EXT_NAME(glVertex3hvNV)
#define glVertex4hNV GLH_EXT_NAME(glVertex4hNV)
#define glVertex4hvNV GLH_EXT_NAME(glVertex4hvNV)
#define glNormal3hNV GLH_EXT_NAME(glNormal3hNV)
#define glNormal3hvNV GLH_EXT_NAME(glNormal3hvNV)
#define glColor3hNV GLH_EXT_NAME(glColor3hNV)
#define glColor3hvNV GLH_EXT_NAME(glColor3hvNV)
#define glColor4hNV GLH_EXT_NAME(glColor4hNV)
#define glColor4hvNV GLH_EXT_NAME(glColor4hvNV)
#define glTexCoord1hNV GLH_EXT_NAME(glTexCoord1hNV)
#define glTexCoord1hvNV GLH_EXT_NAME(glTexCoord1hvNV)
#define glTexCoord2hNV GLH_EXT_NAME(glTexCoord2hNV)
#define glTexCoord2hvNV GLH_EXT_NAME(glTexCoord2hvNV)
#define glTexCoord3hNV GLH_EXT_NAME(glTexCoord3hNV)
#define glTexCoord3hvNV GLH_EXT_NAME(glTexCoord3hvNV)
#define glTexCoord4hNV GLH_EXT_NAME(glTexCoord4hNV)
#define glTexCoord4hvNV GLH_EXT_NAME(glTexCoord4hvNV)
#define glMultiTexCoord1hNV GLH_EXT_NAME(glMultiTexCoord1hNV)
#define glMultiTexCoord1hvNV GLH_EXT_NAME(glMultiTexCoord1hvNV)
#define glMultiTexCoord2hNV GLH_EXT_NAME(glMultiTexCoord2hNV)
#define glMultiTexCoord2hvNV GLH_EXT_NAME(glMultiTexCoord2hvNV)
#define glMultiTexCoord3hNV GLH_EXT_NAME(glMultiTexCoord3hNV)
#define glMultiTexCoord3hvNV GLH_EXT_NAME(glMultiTexCoord3hvNV)
#define glMultiTexCoord4hNV GLH_EXT_NAME(glMultiTexCoord4hNV)
#define glMultiTexCoord4hvNV GLH_EXT_NAME(glMultiTexCoord4hvNV)
#define glFogCoordhNV GLH_EXT_NAME(glFogCoordhNV)
#define glFogCoordhvNV GLH_EXT_NAME(glFogCoordhvNV)
#define glSecondaryColor3hNV GLH_EXT_NAME(glSecondaryColor3hNV)
#define glSecondaryColor3hvNV GLH_EXT_NAME(glSecondaryColor3hvNV)
#define glVertexAttrib1hNV GLH_EXT_NAME(glVertexAttrib1hNV)
#define glVertexAttrib1hvNV GLH_EXT_NAME(glVertexAttrib1hvNV)
#define glVertexAttrib2hNV GLH_EXT_NAME(glVertexAttrib2hNV)
#define glVertexAttrib2hvNV GLH_EXT_NAME(glVertexAttrib2hvNV)
#define glVertexAttrib3hNV GLH_EXT_NAME(glVertexAttrib3hNV)
#define glVertexAttrib3hvNV GLH_EXT_NAME(glVertexAttrib3hvNV)
#define glVertexAttrib4hNV GLH_EXT_NAME(glVertexAttrib4hNV)
#define glVertexAttrib4hvNV GLH_EXT_NAME(glVertexAttrib4hvNV)
#define glVertexAttribs1hvNV GLH_EXT_NAME(glVertexAttribs1hvNV)
#define glVertexAttribs2hvNV GLH_EXT_NAME(glVertexAttribs2hvNV)
#define glVertexAttribs3hvNV GLH_EXT_NAME(glVertexAttribs3hvNV)
#define glVertexAttribs4hvNV GLH_EXT_NAME(glVertexAttribs4hvNV)
#endif

#ifdef GL_NV_light_max_exponent
#endif

#ifdef GL_NV_multisample_filter_hint
#endif

#ifdef GL_NV_occlusion_query
#define glGenOcclusionQueriesNV GLH_EXT_NAME(glGenOcclusionQueriesNV)
#define glDeleteOcclusionQueriesNV GLH_EXT_NAME(glDeleteOcclusionQueriesNV)
#define glIsOcclusionQueryNV GLH_EXT_NAME(glIsOcclusionQueryNV)
#define glBeginOcclusionQueryNV GLH_EXT_NAME(glBeginOcclusionQueryNV)
#define glEndOcclusionQueryNV GLH_EXT_NAME(glEndOcclusionQueryNV)
#define glGetOcclusionQueryivNV GLH_EXT_NAME(glGetOcclusionQueryivNV)
#define glGetOcclusionQueryuivNV GLH_EXT_NAME(glGetOcclusionQueryuivNV)
#endif

#ifdef GL_NV_packed_depth_stencil
#endif

#ifdef GL_NV_pixel_buffer_object
#endif

#ifdef GL_NV_pixel_data_range
#define glPixelDataRangeNV GLH_EXT_NAME(glPixelDataRangeNV)
#define glFlushPixelDataRangeNV GLH_EXT_NAME(glFlushPixelDataRangeNV)
#endif

#ifdef GL_NV_point_sprite
#define glPointParameteriNV GLH_EXT_NAME(glPointParameteriNV)
#define glPointParameterivNV GLH_EXT_NAME(glPointParameterivNV)
#endif

#ifdef GL_NV_primitive_restart
#define glPrimitiveRestartNV GLH_EXT_NAME(glPrimitiveRestartNV)
#define glPrimitiveRestartIndexNV GLH_EXT_NAME(glPrimitiveRestartIndexNV)
#endif

#ifdef GL_NV_register_combiners
#define glCombinerParameterfvNV GLH_EXT_NAME(glCombinerParameterfvNV)
#define glCombinerParameterfNV GLH_EXT_NAME(glCombinerParameterfNV)
#define glCombinerParameterivNV GLH_EXT_NAME(glCombinerParameterivNV)
#define glCombinerParameteriNV GLH_EXT_NAME(glCombinerParameteriNV)
#define glCombinerInputNV GLH_EXT_NAME(glCombinerInputNV)
#define glCombinerOutputNV GLH_EXT_NAME(glCombinerOutputNV)
#define glFinalCombinerInputNV GLH_EXT_NAME(glFinalCombinerInputNV)
#define glGetCombinerInputParameterfvNV GLH_EXT_NAME(glGetCombinerInputParameterfvNV)
#define glGetCombinerInputParameterivNV GLH_EXT_NAME(glGetCombinerInputParameterivNV)
#define glGetCombinerOutputParameterfvNV GLH_EXT_NAME(glGetCombinerOutputParameterfvNV)
#define glGetCombinerOutputParameterivNV GLH_EXT_NAME(glGetCombinerOutputParameterivNV)
#define glGetFinalCombinerInputParameterfvNV GLH_EXT_NAME(glGetFinalCombinerInputParameterfvNV)
#define glGetFinalCombinerInputParameterivNV GLH_EXT_NAME(glGetFinalCombinerInputParameterivNV)
#endif

#ifdef GL_NV_register_combiners2
#define glCombinerStageParameterfvNV GLH_EXT_NAME(glCombinerStageParameterfvNV)
#define glGetCombinerStageParameterfvNV GLH_EXT_NAME(glGetCombinerStageParameterfvNV)
#endif

#ifdef GL_NV_stencil_two_side
#define glActiveStencilFaceNV GLH_EXT_NAME(glActiveStencilFaceNV)
#endif

#ifdef GL_NV_texgen_reflection
#endif

#ifdef GL_NV_texture_compression_vtc
#endif

#ifdef GL_NV_texture_env_combine4
#endif

#ifdef GL_NV_texture_expand_normal
#endif

#ifdef GL_NV_texture_rectangle
#endif

#ifdef GL_NV_texture_shader
#endif

#ifdef GL_NV_texture_shader2
#endif

#ifdef GL_NV_texture_shader3
#endif

#ifdef GL_NV_vertex_array_range
#define glFlushVertexArrayRangeNV GLH_EXT_NAME(glFlushVertexArrayRangeNV)
#define glVertexArrayRangeNV GLH_EXT_NAME(glVertexArrayRangeNV)
# ifdef _WIN32
#define wglAllocateMemoryNV GLH_EXT_NAME(wglAllocateMemoryNV)
# endif
# ifdef GLX_VERSION_1_3
#define glXAllocateMemoryNV GLH_EXT_NAME(glXAllocateMemoryNV)
# endif
# ifdef _WIN32
#define wglFreeMemoryNV GLH_EXT_NAME(wglFreeMemoryNV)
# endif
# ifdef GLX_VERSION_1_3
#define glXFreeMemoryNV GLH_EXT_NAME(glXFreeMemoryNV)
# endif
#endif

#ifdef GL_NV_vertex_array_range2
#endif

#ifdef GL_NV_vertex_program
#define glAreProgramsResidentNV GLH_EXT_NAME(glAreProgramsResidentNV)
#define glBindProgramNV GLH_EXT_NAME(glBindProgramNV)
#define glDeleteProgramsNV GLH_EXT_NAME(glDeleteProgramsNV)
#define glExecuteProgramNV GLH_EXT_NAME(glExecuteProgramNV)
#define glGenProgramsNV GLH_EXT_NAME(glGenProgramsNV)
#define glGetProgramParameterdvNV GLH_EXT_NAME(glGetProgramParameterdvNV)
#define glGetProgramParameterfvNV GLH_EXT_NAME(glGetProgramParameterfvNV)
#define glGetProgramivNV GLH_EXT_NAME(glGetProgramivNV)
#define glGetProgramStringNV GLH_EXT_NAME(glGetProgramStringNV)
#define glGetTrackMatrixivNV GLH_EXT_NAME(glGetTrackMatrixivNV)
#define glGetVertexAttribdvNV GLH_EXT_NAME(glGetVertexAttribdvNV)
#define glGetVertexAttribfvNV GLH_EXT_NAME(glGetVertexAttribfvNV)
#define glGetVertexAttribivNV GLH_EXT_NAME(glGetVertexAttribivNV)
#define glGetVertexAttribPointervNV GLH_EXT_NAME(glGetVertexAttribPointervNV)
#define glIsProgramNV GLH_EXT_NAME(glIsProgramNV)
#define glLoadProgramNV GLH_EXT_NAME(glLoadProgramNV)
#define glProgramParameter4dNV GLH_EXT_NAME(glProgramParameter4dNV)
#define glProgramParameter4dvNV GLH_EXT_NAME(glProgramParameter4dvNV)
#define glProgramParameter4fNV GLH_EXT_NAME(glProgramParameter4fNV)
#define glProgramParameter4fvNV GLH_EXT_NAME(glProgramParameter4fvNV)
#define glProgramParameters4dvNV GLH_EXT_NAME(glProgramParameters4dvNV)
#define glProgramParameters4fvNV GLH_EXT_NAME(glProgramParameters4fvNV)
#define glRequestResidentProgramsNV GLH_EXT_NAME(glRequestResidentProgramsNV)
#define glTrackMatrixNV GLH_EXT_NAME(glTrackMatrixNV)
#define glVertexAttribPointerNV GLH_EXT_NAME(glVertexAttribPointerNV)
#define glVertexAttrib1dNV GLH_EXT_NAME(glVertexAttrib1dNV)
#define glVertexAttrib1dvNV GLH_EXT_NAME(glVertexAttrib1dvNV)
#define glVertexAttrib1fNV GLH_EXT_NAME(glVertexAttrib1fNV)
#define glVertexAttrib1fvNV GLH_EXT_NAME(glVertexAttrib1fvNV)
#define glVertexAttrib1sNV GLH_EXT_NAME(glVertexAttrib1sNV)
#define glVertexAttrib1svNV GLH_EXT_NAME(glVertexAttrib1svNV)
#define glVertexAttrib2dNV GLH_EXT_NAME(glVertexAttrib2dNV)
#define glVertexAttrib2dvNV GLH_EXT_NAME(glVertexAttrib2dvNV)
#define glVertexAttrib2fNV GLH_EXT_NAME(glVertexAttrib2fNV)
#define glVertexAttrib2fvNV GLH_EXT_NAME(glVertexAttrib2fvNV)
#define glVertexAttrib2sNV GLH_EXT_NAME(glVertexAttrib2sNV)
#define glVertexAttrib2svNV GLH_EXT_NAME(glVertexAttrib2svNV)
#define glVertexAttrib3dNV GLH_EXT_NAME(glVertexAttrib3dNV)
#define glVertexAttrib3dvNV GLH_EXT_NAME(glVertexAttrib3dvNV)
#define glVertexAttrib3fNV GLH_EXT_NAME(glVertexAttrib3fNV)
#define glVertexAttrib3fvNV GLH_EXT_NAME(glVertexAttrib3fvNV)
#define glVertexAttrib3sNV GLH_EXT_NAME(glVertexAttrib3sNV)
#define glVertexAttrib3svNV GLH_EXT_NAME(glVertexAttrib3svNV)
#define glVertexAttrib4dNV GLH_EXT_NAME(glVertexAttrib4dNV)
#define glVertexAttrib4dvNV GLH_EXT_NAME(glVertexAttrib4dvNV)
#define glVertexAttrib4fNV GLH_EXT_NAME(glVertexAttrib4fNV)
#define glVertexAttrib4fvNV GLH_EXT_NAME(glVertexAttrib4fvNV)
#define glVertexAttrib4sNV GLH_EXT_NAME(glVertexAttrib4sNV)
#define glVertexAttrib4svNV GLH_EXT_NAME(glVertexAttrib4svNV)
#define glVertexAttrib4ubvNV GLH_EXT_NAME(glVertexAttrib4ubvNV)
#define glVertexAttribs1dvNV GLH_EXT_NAME(glVertexAttribs1dvNV)
#define glVertexAttribs1fvNV GLH_EXT_NAME(glVertexAttribs1fvNV)
#define glVertexAttribs1svNV GLH_EXT_NAME(glVertexAttribs1svNV)
#define glVertexAttribs2dvNV GLH_EXT_NAME(glVertexAttribs2dvNV)
#define glVertexAttribs2fvNV GLH_EXT_NAME(glVertexAttribs2fvNV)
#define glVertexAttribs2svNV GLH_EXT_NAME(glVertexAttribs2svNV)
#define glVertexAttribs3dvNV GLH_EXT_NAME(glVertexAttribs3dvNV)
#define glVertexAttribs3fvNV GLH_EXT_NAME(glVertexAttribs3fvNV)
#define glVertexAttribs3svNV GLH_EXT_NAME(glVertexAttribs3svNV)
#define glVertexAttribs4dvNV GLH_EXT_NAME(glVertexAttribs4dvNV)
#define glVertexAttribs4fvNV GLH_EXT_NAME(glVertexAttribs4fvNV)
#define glVertexAttribs4svNV GLH_EXT_NAME(glVertexAttribs4svNV)
#define glVertexAttribs4ubvNV GLH_EXT_NAME(glVertexAttribs4ubvNV)
#endif

#ifdef GL_NV_vertex_program1_1
#endif

#ifdef GL_NV_vertex_program2
#endif

#ifdef GL_NV_vertex_program2_option
#endif

#ifdef GL_NV_vertex_program3
#endif

#ifdef GL_SGIS_generate_mipmap
#endif

#ifdef GL_SGIS_texture_lod
#endif

#ifdef GL_SGIX_depth_texture
#endif

#ifdef GL_SGIX_shadow
#endif

#ifdef GL_WIN_swap_hint
#define glAddSwapHintRectWIN GLH_EXT_NAME(glAddSwapHintRectWIN)
#endif

#ifdef WGL_ARB_buffer_region
# ifdef _WIN32
#define wglCreateBufferRegionARB GLH_EXT_NAME(wglCreateBufferRegionARB)
# endif
# ifdef _WIN32
#define wglDeleteBufferRegionARB GLH_EXT_NAME(wglDeleteBufferRegionARB)
# endif
# ifdef _WIN32
#define wglSaveBufferRegionARB GLH_EXT_NAME(wglSaveBufferRegionARB)
# endif
# ifdef _WIN32
#define wglRestoreBufferRegionARB GLH_EXT_NAME(wglRestoreBufferRegionARB)
# endif
#endif

#ifdef WGL_ARB_extensions_string
# ifdef _WIN32
#define wglGetExtensionsStringARB GLH_EXT_NAME(wglGetExtensionsStringARB)
# endif
#endif

#ifdef WGL_ARB_pbuffer
# ifdef _WIN32
#define wglCreatePbufferARB GLH_EXT_NAME(wglCreatePbufferARB)
# endif
# ifdef _WIN32
#define wglGetPbufferDCARB GLH_EXT_NAME(wglGetPbufferDCARB)
# endif
# ifdef _WIN32
#define wglReleasePbufferDCARB GLH_EXT_NAME(wglReleasePbufferDCARB)
# endif
# ifdef _WIN32
#define wglDestroyPbufferARB GLH_EXT_NAME(wglDestroyPbufferARB)
# endif
# ifdef _WIN32
#define wglQueryPbufferARB GLH_EXT_NAME(wglQueryPbufferARB)
# endif
#endif

#ifdef WGL_ARB_pixel_format
# ifdef _WIN32
#define wglGetPixelFormatAttribivARB GLH_EXT_NAME(wglGetPixelFormatAttribivARB)
# endif
# ifdef _WIN32
#define wglGetPixelFormatAttribfvARB GLH_EXT_NAME(wglGetPixelFormatAttribfvARB)
# endif
# ifdef _WIN32
#define wglChoosePixelFormatARB GLH_EXT_NAME(wglChoosePixelFormatARB)
# endif
#endif

#ifdef WGL_ARB_render_texture
# ifdef _WIN32
#define wglBindTexImageARB GLH_EXT_NAME(wglBindTexImageARB)
# endif
# ifdef _WIN32
#define wglReleaseTexImageARB GLH_EXT_NAME(wglReleaseTexImageARB)
# endif
# ifdef _WIN32
#define wglSetPbufferAttribARB GLH_EXT_NAME(wglSetPbufferAttribARB)
# endif
#endif

#ifdef WGL_ATI_pixel_format_float
#endif

#ifdef WGL_EXT_extensions_string
# ifdef _WIN32
#define wglGetExtensionsStringEXT GLH_EXT_NAME(wglGetExtensionsStringEXT)
# endif
#endif

#ifdef WGL_EXT_swap_control
# ifdef _WIN32
#define wglSwapIntervalEXT GLH_EXT_NAME(wglSwapIntervalEXT)
# endif
# ifdef _WIN32
#define wglGetSwapIntervalEXT GLH_EXT_NAME(wglGetSwapIntervalEXT)
# endif
#endif

#ifdef WGL_NV_float_buffer
#endif

#ifdef WGL_NV_render_depth_texture
#endif

#ifdef WGL_NV_render_texture_rectangle
#endif

#ifdef GLX_NV_float_buffer
#endif

#ifdef GL_NVX_conditional_render
#define glBeginConditionalRenderNVX GLH_EXT_NAME(glBeginConditionalRenderNVX)
#define glEndConditionalRenderNVX GLH_EXT_NAME(glEndConditionalRenderNVX)
#endif

#ifdef GLX_SGIX_pbuffer
# ifdef GLX_VERSION_1_3
#define glXCreateGLXPbufferSGIX GLH_EXT_NAME(glXCreateGLXPbufferSGIX)
# endif
# ifdef GLX_VERSION_1_3
#define glXDestroyGLXPbufferSGIX GLH_EXT_NAME(glXDestroyGLXPbufferSGIX)
# endif
# ifdef GLX_VERSION_1_3
#define glXQueryGLXPbufferSGIX GLH_EXT_NAME(glXQueryGLXPbufferSGIX)
# endif
# ifdef GLX_VERSION_1_3
#define glXSelectEventSGIX GLH_EXT_NAME(glXSelectEventSGIX)
# endif
# ifdef GLX_VERSION_1_3
#define glXGetSelectedEventSGIX GLH_EXT_NAME(glXGetSelectedEventSGIX)
# endif
#endif

#ifdef GLX_SGIX_fbconfig
# ifdef GLX_VERSION_1_3
#define glXGetFBConfigAttribSGIX GLH_EXT_NAME(glXGetFBConfigAttribSGIX)
# endif
# ifdef GLX_VERSION_1_3
#define glXChooseFBConfigSGIX GLH_EXT_NAME(glXChooseFBConfigSGIX)
# endif
# ifdef GLX_VERSION_1_3
#define glXCreateGLXPixmapWithConfigSGIX GLH_EXT_NAME(glXCreateGLXPixmapWithConfigSGIX)
# endif
# ifdef GLX_VERSION_1_3
#define glXCreateContextWithConfigSGIX GLH_EXT_NAME(glXCreateContextWithConfigSGIX)
# endif
# ifdef GLX_VERSION_1_3
#define glXGetVisualFromFBConfigSGIX GLH_EXT_NAME(glXGetVisualFromFBConfigSGIX)
# endif
# ifdef GLX_VERSION_1_3
#define glXGetFBConfigFromVisualSGIX GLH_EXT_NAME(glXGetFBConfigFromVisualSGIX)
# endif
#endif


#endif
