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

#include <GL/gl.h>
#include <glext.h>
#include <wglext.h> /* This will break Linux -- need to fix */

#ifdef GLH_EXT_SINGLE_FILE
	#define GLH_EXTERN
#else
	#define GLH_EXTERN extern
#endif

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

#ifdef GL_ARB_texture_compression
    GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glCompressedTexImage3dARB;
    GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2dARB;
    GLH_EXTERN PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glCompressedTexImage1dARB;
    GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glCompressedTexSubImage3dARB;
    GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glCompressedTexSubImage2dARB;
    GLH_EXTERN PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glCompressedTexSubImage1dARB;
    GLH_EXTERN PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glGetCompressedTexImageARB;
#endif

#ifdef GL_ARB_transpose_matrix
    GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXFARBPROC glLoadTransposeMatrixfARB;
    GLH_EXTERN PFNGLLOADTRANSPOSEMATRIXDARBPROC glLoadTransposeMatrixdARB;
    GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXFARBPROC glMultTransposeMatrixfARB;
    GLH_EXTERN PFNGLMULTTRANSPOSEMATRIXDARBPROC glMultTransposeMatrixdARB;
#endif

#ifdef GL_EXT_blend_color
    GLH_EXTERN PFNGLBLENDCOLOREXTPROC glBlendColorEXT;
#endif

#ifdef GL_EXT_blend_minmax
    GLH_EXTERN PFNGLBLENDEQUATIONEXTPROC glBlendEquationEXT;
#endif

#ifdef GL_EXT_compiled_vertex_array
    GLH_EXTERN PFNGLLOCKARRAYSEXTPROC glLockArraysEXT;
    GLH_EXTERN PFNGLUNLOCKARRAYSEXTPROC glUnlockArraysEXT;
#endif

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

#ifdef GL_EXT_paletted_texture
    GLH_EXTERN PFNGLCOLORSUBTABLEEXTPROC glColorSubTableEXT;
    GLH_EXTERN PFNGLCOLORTABLEEXTPROC glcolorTableEXT;
    GLH_EXTERN PFNGLGETCOLORTABLEEXTPROC glGetColorTableEXT;
    GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERFVEXTPROC glGetColorTableParameterfvEXT;
    GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERIVEXTPROC glGetColorTableParameterivEXT;
#endif

#ifdef GL_EXT_point_parameters
    GLH_EXTERN PFNGLPOINTPARAMETERFEXTPROC glPointParameterfEXT;
    GLH_EXTERN PFNGLPOINTPARAMETERFVEXTPROC glPointParameterfvEXT;
#endif

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

#ifdef GL_EXT_texture_env_add
#endif

#ifdef GL_EXT_texture_env_combine
#endif

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

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

#ifdef GL_EXT_vertex_weighting
    GLH_EXTERN PFNGLVERTEXWEIGHTFEXTPROC glVertexWeightfEXT;
    GLH_EXTERN PFNGLVERTEXWEIGHTFVEXTPROC glVertexWeightfvEXT;
    GLH_EXTERN PFNGLVERTEXWEIGHTPOINTEREXTPROC glVertexWeightPointerEXT;
#endif

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

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

#ifdef GL_NV_texture_env_combine4
#endif

#ifdef GL_NV_vertex_array_range
    GLH_EXTERN PFNGLFLUSHVERTEXARRAYRANGENVPROC glFlushVertexArrayRangeNV;
    GLH_EXTERN PFNGLVERTEXARRAYRANGENVPROC glVertexArrayRangeNV;
    GLH_EXTERN PFNWGLALLOCATEMEMORYNVPROC wglAllocateMemoryNV;
    GLH_EXTERN PFNWGLFREEMEMORYNVPROC wglFreeMemoryNV;
#endif


#ifdef GL_VERSION_1_2
    GLH_EXTERN PFNGLBLENDCOLORPROC glBlendColor;
    GLH_EXTERN PFNGLBLENDEQUATIONPROC glBlendEquation;
    GLH_EXTERN PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
    GLH_EXTERN PFNGLCOLORTABLEPROC glColorTable;
    GLH_EXTERN PFNGLCOLORTABLEPARAMETERFVPROC glColorTableParameterfv;
    GLH_EXTERN PFNGLCOLORTABLEPARAMETERIVPROC glColorTableParameteriv;
    GLH_EXTERN PFNGLCOPYCOLORTABLEPROC glCopyColorTable;
    GLH_EXTERN PFNGLGETCOLORTABLEPROC glGetColorTable;
    GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERFVPROC glGetColorTableParameterfv;
    GLH_EXTERN PFNGLGETCOLORTABLEPARAMETERIVPROC glGetColorTableParameteriv;
    GLH_EXTERN PFNGLTEXIMAGE3DPROC glTexImage3D;
    GLH_EXTERN PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D;
    GLH_EXTERN PFNGLCOPYTEXSUBIMAGE3DPROC glCopyTexSubImage3D;
#endif

#ifdef GL_WIN_swap_hint
    GLH_EXTERN PFNGLADDSWAPHINTRECTWINPROC glAddSwapHintRectWIN;
#endif

#ifdef GL_EXT_texture_filter_anisotropic
#endif


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

#ifdef GL_ARB_texture_compression
    } else if (0 == strcmp(extension, "GL_ARB_texture_compression")) {
        glCompressedTexImage3dARB = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)wglGetProcAddress("glCompressedTexImage3dARB");
        if (NULL == glCompressedTexImage3dARB)
            return FALSE;
        glCompressedTexImage2dARB = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)wglGetProcAddress("glCompressedTexImage2dARB");
        if (NULL == glCompressedTexImage2dARB)
            return FALSE;
        glCompressedTexImage1dARB = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)wglGetProcAddress("glCompressedTexImage1dARB");
        if (NULL == glCompressedTexImage1dARB)
            return FALSE;
        glCompressedTexSubImage3dARB = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)wglGetProcAddress("glCompressedTexSubImage3dARB");
        if (NULL == glCompressedTexSubImage3dARB)
            return FALSE;
        glCompressedTexSubImage2dARB = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)wglGetProcAddress("glCompressedTexSubImage2dARB");
        if (NULL == glCompressedTexSubImage2dARB)
            return FALSE;
        glCompressedTexSubImage1dARB = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)wglGetProcAddress("glCompressedTexSubImage1dARB");
        if (NULL == glCompressedTexSubImage1dARB)
            return FALSE;
        glGetCompressedTexImageARB = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)wglGetProcAddress("glGetCompressedTexImageARB");
        if (NULL == glGetCompressedTexImageARB)
            return FALSE;
#endif

#ifdef GL_ARB_transpose_matrix
    } else if (0 == strcmp(extension, "GL_ARB_transpose_matrix")) {
        glLoadTransposeMatrixfARB = (PFNGLLOADTRANSPOSEMATRIXFARBPROC)wglGetProcAddress("glLoadTransposeMatrixfARB");
        if (NULL == glLoadTransposeMatrixfARB)
            return FALSE;
        glLoadTransposeMatrixdARB = (PFNGLLOADTRANSPOSEMATRIXDARBPROC)wglGetProcAddress("glLoadTransposeMatrixdARB");
        if (NULL == glLoadTransposeMatrixdARB)
            return FALSE;
        glMultTransposeMatrixfARB = (PFNGLMULTTRANSPOSEMATRIXFARBPROC)wglGetProcAddress("glMultTransposeMatrixfARB");
        if (NULL == glMultTransposeMatrixfARB)
            return FALSE;
        glMultTransposeMatrixdARB = (PFNGLMULTTRANSPOSEMATRIXDARBPROC)wglGetProcAddress("glMultTransposeMatrixdARB");
        if (NULL == glMultTransposeMatrixdARB)
            return FALSE;
#endif

#ifdef GL_EXT_blend_color
    } else if (0 == strcmp(extension, "GL_EXT_blend_color")) {
        glBlendColorEXT = (PFNGLBLENDCOLOREXTPROC)wglGetProcAddress("glBlendColorEXT");
        if (NULL == glBlendColorEXT)
            return FALSE;
#endif

#ifdef GL_EXT_blend_minmax
    } else if (0 == strcmp(extension, "GL_EXT_blend_minmax")) {
        glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC)wglGetProcAddress("glBlendEquationEXT");
        if (NULL == glBlendEquationEXT)
            return FALSE;
#endif

#ifdef GL_EXT_compiled_vertex_array
    } else if (0 == strcmp(extension, "GL_EXT_compiled_vertex_array")) {
        glLockArraysEXT = (PFNGLLOCKARRAYSEXTPROC)wglGetProcAddress("glLockArraysEXT");
        if (NULL == glLockArraysEXT)
            return FALSE;
        glUnlockArraysEXT = (PFNGLUNLOCKARRAYSEXTPROC)wglGetProcAddress("glUnlockArraysEXT");
        if (NULL == glUnlockArraysEXT)
            return FALSE;
#endif

#ifdef GL_EXT_fog_coord
    } else if (0 == strcmp(extension, "GL_EXT_fog_coord")) {
        glFogCoorddEXT = (PFNGLFOGCOORDDEXTPROC)wglGetProcAddress("glFogCoorddEXT");
        if (NULL == glFogCoorddEXT)
            return FALSE;
        glFogCoorddvEXT = (PFNGLFOGCOORDDVEXTPROC)wglGetProcAddress("glFogCoorddvEXT");
        if (NULL == glFogCoorddvEXT)
            return FALSE;
        glFogCoordfEXT = (PFNGLFOGCOORDFEXTPROC)wglGetProcAddress("glFogCoordfEXT");
        if (NULL == glFogCoordfEXT)
            return FALSE;
        glFogCoordfvEXT = (PFNGLFOGCOORDFVEXTPROC)wglGetProcAddress("glFogCoordfvEXT");
        if (NULL == glFogCoordfvEXT)
            return FALSE;
        glFogCoordPointerEXT = (PFNGLFOGCOORDPOINTEREXTPROC)wglGetProcAddress("glFogCoordPointerEXT");
        if (NULL == glFogCoordPointerEXT)
            return FALSE;
#endif

#ifdef GL_EXT_paletted_texture
    } else if (0 == strcmp(extension, "GL_EXT_paletted_texture")) {
        glColorSubTableEXT = (PFNGLCOLORSUBTABLEEXTPROC)wglGetProcAddress("glColorSubTableEXT");
        if (NULL == glColorSubTableEXT)
            return FALSE;
        glcolorTableEXT = (PFNGLCOLORTABLEEXTPROC)wglGetProcAddress("glcolorTableEXT");
        if (NULL == glcolorTableEXT)
            return FALSE;
        glGetColorTableEXT = (PFNGLGETCOLORTABLEEXTPROC)wglGetProcAddress("glGetColorTableEXT");
        if (NULL == glGetColorTableEXT)
            return FALSE;
        glGetColorTableParameterfvEXT = (PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)wglGetProcAddress("glGetColorTableParameterfvEXT");
        if (NULL == glGetColorTableParameterfvEXT)
            return FALSE;
        glGetColorTableParameterivEXT = (PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)wglGetProcAddress("glGetColorTableParameterivEXT");
        if (NULL == glGetColorTableParameterivEXT)
            return FALSE;
#endif

#ifdef GL_EXT_point_parameters
    } else if (0 == strcmp(extension, "GL_EXT_point_parameters")) {
        glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)wglGetProcAddress("glPointParameterfEXT");
        if (NULL == glPointParameterfEXT)
            return FALSE;
        glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)wglGetProcAddress("glPointParameterfvEXT");
        if (NULL == glPointParameterfvEXT)
            return FALSE;
#endif

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

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

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

#ifdef GL_EXT_texture_object
    } else if (0 == strcmp(extension, "GL_EXT_texture_object")) {
        glAreTexturesResidentEXT = (PFNGLARETEXTURESRESIDENTEXTPROC)wglGetProcAddress("glAreTexturesResidentEXT");
        if (NULL == glAreTexturesResidentEXT)
            return FALSE;
        glBindTextureEXT = (PFNGLBINDTEXTUREEXTPROC)wglGetProcAddress("glBindTextureEXT");
        if (NULL == glBindTextureEXT)
            return FALSE;
        glDeleteTexturesEXT = (PFNGLDELETETEXTURESEXTPROC)wglGetProcAddress("glDeleteTexturesEXT");
        if (NULL == glDeleteTexturesEXT)
            return FALSE;
        glGenTexturesEXT = (PFNGLGENTEXTURESEXTPROC)wglGetProcAddress("glGenTexturesEXT");
        if (NULL == glGenTexturesEXT)
            return FALSE;
        glIsTextureEXT = (PFNGLISTEXTUREEXTPROC)wglGetProcAddress("glIsTextureEXT");
        if (NULL == glIsTextureEXT)
            return FALSE;
        glPrioritizeTexturesEXT = (PFNGLPRIORITIZETEXTURESEXTPROC)wglGetProcAddress("glPrioritizeTexturesEXT");
        if (NULL == glPrioritizeTexturesEXT)
            return FALSE;
#endif

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

#ifdef GL_EXT_vertex_weighting
    } else if (0 == strcmp(extension, "GL_EXT_vertex_weighting")) {
        glVertexWeightfEXT = (PFNGLVERTEXWEIGHTFEXTPROC)wglGetProcAddress("glVertexWeightfEXT");
        if (NULL == glVertexWeightfEXT)
            return FALSE;
        glVertexWeightfvEXT = (PFNGLVERTEXWEIGHTFVEXTPROC)wglGetProcAddress("glVertexWeightfvEXT");
        if (NULL == glVertexWeightfvEXT)
            return FALSE;
        glVertexWeightPointerEXT = (PFNGLVERTEXWEIGHTPOINTEREXTPROC)wglGetProcAddress("glVertexWeightPointerEXT");
        if (NULL == glVertexWeightPointerEXT)
            return FALSE;
#endif


#ifdef GL_NV_fence
    } else if (0 == strcmp(extension, "GL_NV_fence")) {
        glGenFencesNV = (PFNGLGENFENCESNVPROC)wglGetProcAddress("glGenFencesNV");
        if (NULL == glGenFencesNV)
            return FALSE;
        glDeleteFencesNV = (PFNGLDELETEFENCESNVPROC)wglGetProcAddress("glDeleteFencesNV");
        if (NULL == glDeleteFencesNV)
            return FALSE;
        glSetFenceNV = (PFNGLSETFENCENVPROC)wglGetProcAddress("glSetFenceNV");
        if (NULL == glSetFenceNV)
            return FALSE;
        glTestFenceNV = (PFNGLTESTFENCENVPROC)wglGetProcAddress("glTestFenceNV");
        if (NULL == glTestFenceNV)
            return FALSE;
        glFinishFenceNV = (PFNGLFINISHFENCENVPROC)wglGetProcAddress("glFinishFenceNV");
        if (NULL == glFinishFenceNV)
            return FALSE;
        glIsFenceNV = (PFNGLISFENCENVPROC)wglGetProcAddress("glIsFenceNV");
        if (NULL == glIsFenceNV)
            return FALSE;
        glGetFenceivNV = (PFNGLGETFENCEIVNVPROC)wglGetProcAddress("glGetFenceivNV");
        if (NULL == glGetFenceivNV)
            return FALSE;
#endif

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

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

#ifdef GL_NV_vertex_array_range
    } else if (0 == strcmp(extension, "GL_NV_vertex_array_range")) {
        glFlushVertexArrayRangeNV = (PFNGLFLUSHVERTEXARRAYRANGENVPROC)wglGetProcAddress("glFlushVertexArrayRangeNV");
        if (NULL == glFlushVertexArrayRangeNV)
            return FALSE;
        glVertexArrayRangeNV = (PFNGLVERTEXARRAYRANGENVPROC)wglGetProcAddress("glVertexArrayRangeNV");
        if (NULL == glVertexArrayRangeNV)
            return FALSE;
        wglAllocateMemoryNV = (PFNWGLALLOCATEMEMORYNVPROC)wglGetProcAddress("wglAllocateMemoryNV");
        if (NULL == wglAllocateMemoryNV)
            return FALSE;
        wglFreeMemoryNV = (PFNWGLFREEMEMORYNVPROC)wglGetProcAddress("wglFreeMemoryNV");
        if (NULL == wglFreeMemoryNV)
            return FALSE;
#endif


#ifdef GL_VERSION_1_2
    } else if (0 == strcmp(extension, "GL_VERSION_1_2")) {
        glBlendColor = (PFNGLBLENDCOLORPROC)wglGetProcAddress("glBlendColor");
        if (NULL == glBlendColor)
            return FALSE;
        glBlendEquation = (PFNGLBLENDEQUATIONPROC)wglGetProcAddress("glBlendEquation");
        if (NULL == glBlendEquation)
            return FALSE;
        glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)wglGetProcAddress("glDrawRangeElements");
        if (NULL == glDrawRangeElements)
            return FALSE;
        glColorTable = (PFNGLCOLORTABLEPROC)wglGetProcAddress("glColorTable");
        if (NULL == glColorTable)
            return FALSE;
        glColorTableParameterfv = (PFNGLCOLORTABLEPARAMETERFVPROC)wglGetProcAddress("glColorTableParameterfv");
        if (NULL == glColorTableParameterfv)
            return FALSE;
        glColorTableParameteriv = (PFNGLCOLORTABLEPARAMETERIVPROC)wglGetProcAddress("glColorTableParameteriv");
        if (NULL == glColorTableParameteriv)
            return FALSE;
        glCopyColorTable = (PFNGLCOPYCOLORTABLEPROC)wglGetProcAddress("glCopyColorTable");
        if (NULL == glCopyColorTable)
            return FALSE;
        glGetColorTable = (PFNGLGETCOLORTABLEPROC)wglGetProcAddress("glGetColorTable");
        if (NULL == glGetColorTable)
            return FALSE;
        glGetColorTableParameterfv = (PFNGLGETCOLORTABLEPARAMETERFVPROC)wglGetProcAddress("glGetColorTableParameterfv");
        if (NULL == glGetColorTableParameterfv)
            return FALSE;
        glGetColorTableParameteriv = (PFNGLGETCOLORTABLEPARAMETERIVPROC)wglGetProcAddress("glGetColorTableParameteriv");
        if (NULL == glGetColorTableParameteriv)
            return FALSE;
        glTexImage3D = (PFNGLTEXIMAGE3DPROC)wglGetProcAddress("glTexImage3D");
        if (NULL == glTexImage3D)
            return FALSE;
        glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)wglGetProcAddress("glTexSubImage3D");
        if (NULL == glTexSubImage3D)
            return FALSE;
        glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)wglGetProcAddress("glCopyTexSubImage3D");
        if (NULL == glCopyTexSubImage3D)
            return FALSE;
#endif

#ifdef GL_WIN_swap_hint
    } else if (0 == strcmp(extension, "GL_WIN_swap_hint")) {
        glAddSwapHintRectWIN = (PFNGLADDSWAPHINTRECTWINPROC)wglGetProcAddress("glAddSwapHintRectWIN");
        if (NULL == glAddSwapHintRectWIN)
            return FALSE;
#endif


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

    } else {
        return FALSE;
    }
    return TRUE;
}
#endif

#undef GLH_EXT_SINGLE_FILE

#endif /* GLH_GENEXT_H */
