]> git.tdb.fi Git - libs/gl.git/blobdiff - source/arb_multitexture.cpp
Function pointer typedefs for core functions are not available everywhere
[libs/gl.git] / source / arb_multitexture.cpp
index 391b0455fbeee5e185bddd33b39c2a0e4607b88f..4eeefda3a2509edabf3aa1c33df1069548b33cf1 100644 (file)
 namespace Msp {
 namespace GL {
 
-PFNGLACTIVETEXTUREPROC glActiveTexture = 0;
-PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture = 0;
-PFNGLMULTITEXCOORD1DPROC glMultiTexCoord1d = 0;
-PFNGLMULTITEXCOORD1DVPROC glMultiTexCoord1dv = 0;
-PFNGLMULTITEXCOORD1FPROC glMultiTexCoord1f = 0;
-PFNGLMULTITEXCOORD1FVPROC glMultiTexCoord1fv = 0;
-PFNGLMULTITEXCOORD1IPROC glMultiTexCoord1i = 0;
-PFNGLMULTITEXCOORD1IVPROC glMultiTexCoord1iv = 0;
-PFNGLMULTITEXCOORD1SPROC glMultiTexCoord1s = 0;
-PFNGLMULTITEXCOORD1SVPROC glMultiTexCoord1sv = 0;
-PFNGLMULTITEXCOORD2DPROC glMultiTexCoord2d = 0;
-PFNGLMULTITEXCOORD2DVPROC glMultiTexCoord2dv = 0;
-PFNGLMULTITEXCOORD2FPROC glMultiTexCoord2f = 0;
-PFNGLMULTITEXCOORD2FVPROC glMultiTexCoord2fv = 0;
-PFNGLMULTITEXCOORD2IPROC glMultiTexCoord2i = 0;
-PFNGLMULTITEXCOORD2IVPROC glMultiTexCoord2iv = 0;
-PFNGLMULTITEXCOORD2SPROC glMultiTexCoord2s = 0;
-PFNGLMULTITEXCOORD2SVPROC glMultiTexCoord2sv = 0;
-PFNGLMULTITEXCOORD3DPROC glMultiTexCoord3d = 0;
-PFNGLMULTITEXCOORD3DVPROC glMultiTexCoord3dv = 0;
-PFNGLMULTITEXCOORD3FPROC glMultiTexCoord3f = 0;
-PFNGLMULTITEXCOORD3FVPROC glMultiTexCoord3fv = 0;
-PFNGLMULTITEXCOORD3IPROC glMultiTexCoord3i = 0;
-PFNGLMULTITEXCOORD3IVPROC glMultiTexCoord3iv = 0;
-PFNGLMULTITEXCOORD3SPROC glMultiTexCoord3s = 0;
-PFNGLMULTITEXCOORD3SVPROC glMultiTexCoord3sv = 0;
-PFNGLMULTITEXCOORD4DPROC glMultiTexCoord4d = 0;
-PFNGLMULTITEXCOORD4DVPROC glMultiTexCoord4dv = 0;
-PFNGLMULTITEXCOORD4FPROC glMultiTexCoord4f = 0;
-PFNGLMULTITEXCOORD4FVPROC glMultiTexCoord4fv = 0;
-PFNGLMULTITEXCOORD4IPROC glMultiTexCoord4i = 0;
-PFNGLMULTITEXCOORD4IVPROC glMultiTexCoord4iv = 0;
-PFNGLMULTITEXCOORD4SPROC glMultiTexCoord4s = 0;
-PFNGLMULTITEXCOORD4SVPROC glMultiTexCoord4sv = 0;
+PFNGLACTIVETEXTUREARBPROC glActiveTexture = 0;
+PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTexture = 0;
+PFNGLMULTITEXCOORD1DARBPROC glMultiTexCoord1d = 0;
+PFNGLMULTITEXCOORD1DVARBPROC glMultiTexCoord1dv = 0;
+PFNGLMULTITEXCOORD1FARBPROC glMultiTexCoord1f = 0;
+PFNGLMULTITEXCOORD1FVARBPROC glMultiTexCoord1fv = 0;
+PFNGLMULTITEXCOORD1IARBPROC glMultiTexCoord1i = 0;
+PFNGLMULTITEXCOORD1IVARBPROC glMultiTexCoord1iv = 0;
+PFNGLMULTITEXCOORD1SARBPROC glMultiTexCoord1s = 0;
+PFNGLMULTITEXCOORD1SVARBPROC glMultiTexCoord1sv = 0;
+PFNGLMULTITEXCOORD2DARBPROC glMultiTexCoord2d = 0;
+PFNGLMULTITEXCOORD2DVARBPROC glMultiTexCoord2dv = 0;
+PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2f = 0;
+PFNGLMULTITEXCOORD2FVARBPROC glMultiTexCoord2fv = 0;
+PFNGLMULTITEXCOORD2IARBPROC glMultiTexCoord2i = 0;
+PFNGLMULTITEXCOORD2IVARBPROC glMultiTexCoord2iv = 0;
+PFNGLMULTITEXCOORD2SARBPROC glMultiTexCoord2s = 0;
+PFNGLMULTITEXCOORD2SVARBPROC glMultiTexCoord2sv = 0;
+PFNGLMULTITEXCOORD3DARBPROC glMultiTexCoord3d = 0;
+PFNGLMULTITEXCOORD3DVARBPROC glMultiTexCoord3dv = 0;
+PFNGLMULTITEXCOORD3FARBPROC glMultiTexCoord3f = 0;
+PFNGLMULTITEXCOORD3FVARBPROC glMultiTexCoord3fv = 0;
+PFNGLMULTITEXCOORD3IARBPROC glMultiTexCoord3i = 0;
+PFNGLMULTITEXCOORD3IVARBPROC glMultiTexCoord3iv = 0;
+PFNGLMULTITEXCOORD3SARBPROC glMultiTexCoord3s = 0;
+PFNGLMULTITEXCOORD3SVARBPROC glMultiTexCoord3sv = 0;
+PFNGLMULTITEXCOORD4DARBPROC glMultiTexCoord4d = 0;
+PFNGLMULTITEXCOORD4DVARBPROC glMultiTexCoord4dv = 0;
+PFNGLMULTITEXCOORD4FARBPROC glMultiTexCoord4f = 0;
+PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fv = 0;
+PFNGLMULTITEXCOORD4IARBPROC glMultiTexCoord4i = 0;
+PFNGLMULTITEXCOORD4IVARBPROC glMultiTexCoord4iv = 0;
+PFNGLMULTITEXCOORD4SARBPROC glMultiTexCoord4s = 0;
+PFNGLMULTITEXCOORD4SVARBPROC glMultiTexCoord4sv = 0;
 
 Extension::SupportLevel init_arb_multitexture()
 {
        if(is_version_at_least(1, 3))
        {
-               glActiveTexture = reinterpret_cast<PFNGLACTIVETEXTUREPROC>(get_proc_address("glActiveTexture"));
-               glClientActiveTexture = reinterpret_cast<PFNGLCLIENTACTIVETEXTUREPROC>(get_proc_address("glClientActiveTexture"));
-               glMultiTexCoord1d = reinterpret_cast<PFNGLMULTITEXCOORD1DPROC>(get_proc_address("glMultiTexCoord1d"));
-               glMultiTexCoord1dv = reinterpret_cast<PFNGLMULTITEXCOORD1DVPROC>(get_proc_address("glMultiTexCoord1dv"));
-               glMultiTexCoord1f = reinterpret_cast<PFNGLMULTITEXCOORD1FPROC>(get_proc_address("glMultiTexCoord1f"));
-               glMultiTexCoord1fv = reinterpret_cast<PFNGLMULTITEXCOORD1FVPROC>(get_proc_address("glMultiTexCoord1fv"));
-               glMultiTexCoord1i = reinterpret_cast<PFNGLMULTITEXCOORD1IPROC>(get_proc_address("glMultiTexCoord1i"));
-               glMultiTexCoord1iv = reinterpret_cast<PFNGLMULTITEXCOORD1IVPROC>(get_proc_address("glMultiTexCoord1iv"));
-               glMultiTexCoord1s = reinterpret_cast<PFNGLMULTITEXCOORD1SPROC>(get_proc_address("glMultiTexCoord1s"));
-               glMultiTexCoord1sv = reinterpret_cast<PFNGLMULTITEXCOORD1SVPROC>(get_proc_address("glMultiTexCoord1sv"));
-               glMultiTexCoord2d = reinterpret_cast<PFNGLMULTITEXCOORD2DPROC>(get_proc_address("glMultiTexCoord2d"));
-               glMultiTexCoord2dv = reinterpret_cast<PFNGLMULTITEXCOORD2DVPROC>(get_proc_address("glMultiTexCoord2dv"));
-               glMultiTexCoord2f = reinterpret_cast<PFNGLMULTITEXCOORD2FPROC>(get_proc_address("glMultiTexCoord2f"));
-               glMultiTexCoord2fv = reinterpret_cast<PFNGLMULTITEXCOORD2FVPROC>(get_proc_address("glMultiTexCoord2fv"));
-               glMultiTexCoord2i = reinterpret_cast<PFNGLMULTITEXCOORD2IPROC>(get_proc_address("glMultiTexCoord2i"));
-               glMultiTexCoord2iv = reinterpret_cast<PFNGLMULTITEXCOORD2IVPROC>(get_proc_address("glMultiTexCoord2iv"));
-               glMultiTexCoord2s = reinterpret_cast<PFNGLMULTITEXCOORD2SPROC>(get_proc_address("glMultiTexCoord2s"));
-               glMultiTexCoord2sv = reinterpret_cast<PFNGLMULTITEXCOORD2SVPROC>(get_proc_address("glMultiTexCoord2sv"));
-               glMultiTexCoord3d = reinterpret_cast<PFNGLMULTITEXCOORD3DPROC>(get_proc_address("glMultiTexCoord3d"));
-               glMultiTexCoord3dv = reinterpret_cast<PFNGLMULTITEXCOORD3DVPROC>(get_proc_address("glMultiTexCoord3dv"));
-               glMultiTexCoord3f = reinterpret_cast<PFNGLMULTITEXCOORD3FPROC>(get_proc_address("glMultiTexCoord3f"));
-               glMultiTexCoord3fv = reinterpret_cast<PFNGLMULTITEXCOORD3FVPROC>(get_proc_address("glMultiTexCoord3fv"));
-               glMultiTexCoord3i = reinterpret_cast<PFNGLMULTITEXCOORD3IPROC>(get_proc_address("glMultiTexCoord3i"));
-               glMultiTexCoord3iv = reinterpret_cast<PFNGLMULTITEXCOORD3IVPROC>(get_proc_address("glMultiTexCoord3iv"));
-               glMultiTexCoord3s = reinterpret_cast<PFNGLMULTITEXCOORD3SPROC>(get_proc_address("glMultiTexCoord3s"));
-               glMultiTexCoord3sv = reinterpret_cast<PFNGLMULTITEXCOORD3SVPROC>(get_proc_address("glMultiTexCoord3sv"));
-               glMultiTexCoord4d = reinterpret_cast<PFNGLMULTITEXCOORD4DPROC>(get_proc_address("glMultiTexCoord4d"));
-               glMultiTexCoord4dv = reinterpret_cast<PFNGLMULTITEXCOORD4DVPROC>(get_proc_address("glMultiTexCoord4dv"));
-               glMultiTexCoord4f = reinterpret_cast<PFNGLMULTITEXCOORD4FPROC>(get_proc_address("glMultiTexCoord4f"));
-               glMultiTexCoord4fv = reinterpret_cast<PFNGLMULTITEXCOORD4FVPROC>(get_proc_address("glMultiTexCoord4fv"));
-               glMultiTexCoord4i = reinterpret_cast<PFNGLMULTITEXCOORD4IPROC>(get_proc_address("glMultiTexCoord4i"));
-               glMultiTexCoord4iv = reinterpret_cast<PFNGLMULTITEXCOORD4IVPROC>(get_proc_address("glMultiTexCoord4iv"));
-               glMultiTexCoord4s = reinterpret_cast<PFNGLMULTITEXCOORD4SPROC>(get_proc_address("glMultiTexCoord4s"));
-               glMultiTexCoord4sv = reinterpret_cast<PFNGLMULTITEXCOORD4SVPROC>(get_proc_address("glMultiTexCoord4sv"));
+               glActiveTexture = reinterpret_cast<PFNGLACTIVETEXTUREARBPROC>(get_proc_address("glActiveTexture"));
+               glClientActiveTexture = reinterpret_cast<PFNGLCLIENTACTIVETEXTUREARBPROC>(get_proc_address("glClientActiveTexture"));
+               glMultiTexCoord1d = reinterpret_cast<PFNGLMULTITEXCOORD1DARBPROC>(get_proc_address("glMultiTexCoord1d"));
+               glMultiTexCoord1dv = reinterpret_cast<PFNGLMULTITEXCOORD1DVARBPROC>(get_proc_address("glMultiTexCoord1dv"));
+               glMultiTexCoord1f = reinterpret_cast<PFNGLMULTITEXCOORD1FARBPROC>(get_proc_address("glMultiTexCoord1f"));
+               glMultiTexCoord1fv = reinterpret_cast<PFNGLMULTITEXCOORD1FVARBPROC>(get_proc_address("glMultiTexCoord1fv"));
+               glMultiTexCoord1i = reinterpret_cast<PFNGLMULTITEXCOORD1IARBPROC>(get_proc_address("glMultiTexCoord1i"));
+               glMultiTexCoord1iv = reinterpret_cast<PFNGLMULTITEXCOORD1IVARBPROC>(get_proc_address("glMultiTexCoord1iv"));
+               glMultiTexCoord1s = reinterpret_cast<PFNGLMULTITEXCOORD1SARBPROC>(get_proc_address("glMultiTexCoord1s"));
+               glMultiTexCoord1sv = reinterpret_cast<PFNGLMULTITEXCOORD1SVARBPROC>(get_proc_address("glMultiTexCoord1sv"));
+               glMultiTexCoord2d = reinterpret_cast<PFNGLMULTITEXCOORD2DARBPROC>(get_proc_address("glMultiTexCoord2d"));
+               glMultiTexCoord2dv = reinterpret_cast<PFNGLMULTITEXCOORD2DVARBPROC>(get_proc_address("glMultiTexCoord2dv"));
+               glMultiTexCoord2f = reinterpret_cast<PFNGLMULTITEXCOORD2FARBPROC>(get_proc_address("glMultiTexCoord2f"));
+               glMultiTexCoord2fv = reinterpret_cast<PFNGLMULTITEXCOORD2FVARBPROC>(get_proc_address("glMultiTexCoord2fv"));
+               glMultiTexCoord2i = reinterpret_cast<PFNGLMULTITEXCOORD2IARBPROC>(get_proc_address("glMultiTexCoord2i"));
+               glMultiTexCoord2iv = reinterpret_cast<PFNGLMULTITEXCOORD2IVARBPROC>(get_proc_address("glMultiTexCoord2iv"));
+               glMultiTexCoord2s = reinterpret_cast<PFNGLMULTITEXCOORD2SARBPROC>(get_proc_address("glMultiTexCoord2s"));
+               glMultiTexCoord2sv = reinterpret_cast<PFNGLMULTITEXCOORD2SVARBPROC>(get_proc_address("glMultiTexCoord2sv"));
+               glMultiTexCoord3d = reinterpret_cast<PFNGLMULTITEXCOORD3DARBPROC>(get_proc_address("glMultiTexCoord3d"));
+               glMultiTexCoord3dv = reinterpret_cast<PFNGLMULTITEXCOORD3DVARBPROC>(get_proc_address("glMultiTexCoord3dv"));
+               glMultiTexCoord3f = reinterpret_cast<PFNGLMULTITEXCOORD3FARBPROC>(get_proc_address("glMultiTexCoord3f"));
+               glMultiTexCoord3fv = reinterpret_cast<PFNGLMULTITEXCOORD3FVARBPROC>(get_proc_address("glMultiTexCoord3fv"));
+               glMultiTexCoord3i = reinterpret_cast<PFNGLMULTITEXCOORD3IARBPROC>(get_proc_address("glMultiTexCoord3i"));
+               glMultiTexCoord3iv = reinterpret_cast<PFNGLMULTITEXCOORD3IVARBPROC>(get_proc_address("glMultiTexCoord3iv"));
+               glMultiTexCoord3s = reinterpret_cast<PFNGLMULTITEXCOORD3SARBPROC>(get_proc_address("glMultiTexCoord3s"));
+               glMultiTexCoord3sv = reinterpret_cast<PFNGLMULTITEXCOORD3SVARBPROC>(get_proc_address("glMultiTexCoord3sv"));
+               glMultiTexCoord4d = reinterpret_cast<PFNGLMULTITEXCOORD4DARBPROC>(get_proc_address("glMultiTexCoord4d"));
+               glMultiTexCoord4dv = reinterpret_cast<PFNGLMULTITEXCOORD4DVARBPROC>(get_proc_address("glMultiTexCoord4dv"));
+               glMultiTexCoord4f = reinterpret_cast<PFNGLMULTITEXCOORD4FARBPROC>(get_proc_address("glMultiTexCoord4f"));
+               glMultiTexCoord4fv = reinterpret_cast<PFNGLMULTITEXCOORD4FVARBPROC>(get_proc_address("glMultiTexCoord4fv"));
+               glMultiTexCoord4i = reinterpret_cast<PFNGLMULTITEXCOORD4IARBPROC>(get_proc_address("glMultiTexCoord4i"));
+               glMultiTexCoord4iv = reinterpret_cast<PFNGLMULTITEXCOORD4IVARBPROC>(get_proc_address("glMultiTexCoord4iv"));
+               glMultiTexCoord4s = reinterpret_cast<PFNGLMULTITEXCOORD4SARBPROC>(get_proc_address("glMultiTexCoord4s"));
+               glMultiTexCoord4sv = reinterpret_cast<PFNGLMULTITEXCOORD4SVARBPROC>(get_proc_address("glMultiTexCoord4sv"));
                return Extension::CORE;
        }
        if(is_supported("GL_ARB_multitexture"))
        {
-               glActiveTexture = reinterpret_cast<PFNGLACTIVETEXTUREPROC>(get_proc_address("glActiveTextureARB"));
-               glClientActiveTexture = reinterpret_cast<PFNGLCLIENTACTIVETEXTUREPROC>(get_proc_address("glClientActiveTextureARB"));
-               glMultiTexCoord1d = reinterpret_cast<PFNGLMULTITEXCOORD1DPROC>(get_proc_address("glMultiTexCoord1dARB"));
-               glMultiTexCoord1dv = reinterpret_cast<PFNGLMULTITEXCOORD1DVPROC>(get_proc_address("glMultiTexCoord1dvARB"));
-               glMultiTexCoord1f = reinterpret_cast<PFNGLMULTITEXCOORD1FPROC>(get_proc_address("glMultiTexCoord1fARB"));
-               glMultiTexCoord1fv = reinterpret_cast<PFNGLMULTITEXCOORD1FVPROC>(get_proc_address("glMultiTexCoord1fvARB"));
-               glMultiTexCoord1i = reinterpret_cast<PFNGLMULTITEXCOORD1IPROC>(get_proc_address("glMultiTexCoord1iARB"));
-               glMultiTexCoord1iv = reinterpret_cast<PFNGLMULTITEXCOORD1IVPROC>(get_proc_address("glMultiTexCoord1ivARB"));
-               glMultiTexCoord1s = reinterpret_cast<PFNGLMULTITEXCOORD1SPROC>(get_proc_address("glMultiTexCoord1sARB"));
-               glMultiTexCoord1sv = reinterpret_cast<PFNGLMULTITEXCOORD1SVPROC>(get_proc_address("glMultiTexCoord1svARB"));
-               glMultiTexCoord2d = reinterpret_cast<PFNGLMULTITEXCOORD2DPROC>(get_proc_address("glMultiTexCoord2dARB"));
-               glMultiTexCoord2dv = reinterpret_cast<PFNGLMULTITEXCOORD2DVPROC>(get_proc_address("glMultiTexCoord2dvARB"));
-               glMultiTexCoord2f = reinterpret_cast<PFNGLMULTITEXCOORD2FPROC>(get_proc_address("glMultiTexCoord2fARB"));
-               glMultiTexCoord2fv = reinterpret_cast<PFNGLMULTITEXCOORD2FVPROC>(get_proc_address("glMultiTexCoord2fvARB"));
-               glMultiTexCoord2i = reinterpret_cast<PFNGLMULTITEXCOORD2IPROC>(get_proc_address("glMultiTexCoord2iARB"));
-               glMultiTexCoord2iv = reinterpret_cast<PFNGLMULTITEXCOORD2IVPROC>(get_proc_address("glMultiTexCoord2ivARB"));
-               glMultiTexCoord2s = reinterpret_cast<PFNGLMULTITEXCOORD2SPROC>(get_proc_address("glMultiTexCoord2sARB"));
-               glMultiTexCoord2sv = reinterpret_cast<PFNGLMULTITEXCOORD2SVPROC>(get_proc_address("glMultiTexCoord2svARB"));
-               glMultiTexCoord3d = reinterpret_cast<PFNGLMULTITEXCOORD3DPROC>(get_proc_address("glMultiTexCoord3dARB"));
-               glMultiTexCoord3dv = reinterpret_cast<PFNGLMULTITEXCOORD3DVPROC>(get_proc_address("glMultiTexCoord3dvARB"));
-               glMultiTexCoord3f = reinterpret_cast<PFNGLMULTITEXCOORD3FPROC>(get_proc_address("glMultiTexCoord3fARB"));
-               glMultiTexCoord3fv = reinterpret_cast<PFNGLMULTITEXCOORD3FVPROC>(get_proc_address("glMultiTexCoord3fvARB"));
-               glMultiTexCoord3i = reinterpret_cast<PFNGLMULTITEXCOORD3IPROC>(get_proc_address("glMultiTexCoord3iARB"));
-               glMultiTexCoord3iv = reinterpret_cast<PFNGLMULTITEXCOORD3IVPROC>(get_proc_address("glMultiTexCoord3ivARB"));
-               glMultiTexCoord3s = reinterpret_cast<PFNGLMULTITEXCOORD3SPROC>(get_proc_address("glMultiTexCoord3sARB"));
-               glMultiTexCoord3sv = reinterpret_cast<PFNGLMULTITEXCOORD3SVPROC>(get_proc_address("glMultiTexCoord3svARB"));
-               glMultiTexCoord4d = reinterpret_cast<PFNGLMULTITEXCOORD4DPROC>(get_proc_address("glMultiTexCoord4dARB"));
-               glMultiTexCoord4dv = reinterpret_cast<PFNGLMULTITEXCOORD4DVPROC>(get_proc_address("glMultiTexCoord4dvARB"));
-               glMultiTexCoord4f = reinterpret_cast<PFNGLMULTITEXCOORD4FPROC>(get_proc_address("glMultiTexCoord4fARB"));
-               glMultiTexCoord4fv = reinterpret_cast<PFNGLMULTITEXCOORD4FVPROC>(get_proc_address("glMultiTexCoord4fvARB"));
-               glMultiTexCoord4i = reinterpret_cast<PFNGLMULTITEXCOORD4IPROC>(get_proc_address("glMultiTexCoord4iARB"));
-               glMultiTexCoord4iv = reinterpret_cast<PFNGLMULTITEXCOORD4IVPROC>(get_proc_address("glMultiTexCoord4ivARB"));
-               glMultiTexCoord4s = reinterpret_cast<PFNGLMULTITEXCOORD4SPROC>(get_proc_address("glMultiTexCoord4sARB"));
-               glMultiTexCoord4sv = reinterpret_cast<PFNGLMULTITEXCOORD4SVPROC>(get_proc_address("glMultiTexCoord4svARB"));
+               glActiveTexture = reinterpret_cast<PFNGLACTIVETEXTUREARBPROC>(get_proc_address("glActiveTextureARB"));
+               glClientActiveTexture = reinterpret_cast<PFNGLCLIENTACTIVETEXTUREARBPROC>(get_proc_address("glClientActiveTextureARB"));
+               glMultiTexCoord1d = reinterpret_cast<PFNGLMULTITEXCOORD1DARBPROC>(get_proc_address("glMultiTexCoord1dARB"));
+               glMultiTexCoord1dv = reinterpret_cast<PFNGLMULTITEXCOORD1DVARBPROC>(get_proc_address("glMultiTexCoord1dvARB"));
+               glMultiTexCoord1f = reinterpret_cast<PFNGLMULTITEXCOORD1FARBPROC>(get_proc_address("glMultiTexCoord1fARB"));
+               glMultiTexCoord1fv = reinterpret_cast<PFNGLMULTITEXCOORD1FVARBPROC>(get_proc_address("glMultiTexCoord1fvARB"));
+               glMultiTexCoord1i = reinterpret_cast<PFNGLMULTITEXCOORD1IARBPROC>(get_proc_address("glMultiTexCoord1iARB"));
+               glMultiTexCoord1iv = reinterpret_cast<PFNGLMULTITEXCOORD1IVARBPROC>(get_proc_address("glMultiTexCoord1ivARB"));
+               glMultiTexCoord1s = reinterpret_cast<PFNGLMULTITEXCOORD1SARBPROC>(get_proc_address("glMultiTexCoord1sARB"));
+               glMultiTexCoord1sv = reinterpret_cast<PFNGLMULTITEXCOORD1SVARBPROC>(get_proc_address("glMultiTexCoord1svARB"));
+               glMultiTexCoord2d = reinterpret_cast<PFNGLMULTITEXCOORD2DARBPROC>(get_proc_address("glMultiTexCoord2dARB"));
+               glMultiTexCoord2dv = reinterpret_cast<PFNGLMULTITEXCOORD2DVARBPROC>(get_proc_address("glMultiTexCoord2dvARB"));
+               glMultiTexCoord2f = reinterpret_cast<PFNGLMULTITEXCOORD2FARBPROC>(get_proc_address("glMultiTexCoord2fARB"));
+               glMultiTexCoord2fv = reinterpret_cast<PFNGLMULTITEXCOORD2FVARBPROC>(get_proc_address("glMultiTexCoord2fvARB"));
+               glMultiTexCoord2i = reinterpret_cast<PFNGLMULTITEXCOORD2IARBPROC>(get_proc_address("glMultiTexCoord2iARB"));
+               glMultiTexCoord2iv = reinterpret_cast<PFNGLMULTITEXCOORD2IVARBPROC>(get_proc_address("glMultiTexCoord2ivARB"));
+               glMultiTexCoord2s = reinterpret_cast<PFNGLMULTITEXCOORD2SARBPROC>(get_proc_address("glMultiTexCoord2sARB"));
+               glMultiTexCoord2sv = reinterpret_cast<PFNGLMULTITEXCOORD2SVARBPROC>(get_proc_address("glMultiTexCoord2svARB"));
+               glMultiTexCoord3d = reinterpret_cast<PFNGLMULTITEXCOORD3DARBPROC>(get_proc_address("glMultiTexCoord3dARB"));
+               glMultiTexCoord3dv = reinterpret_cast<PFNGLMULTITEXCOORD3DVARBPROC>(get_proc_address("glMultiTexCoord3dvARB"));
+               glMultiTexCoord3f = reinterpret_cast<PFNGLMULTITEXCOORD3FARBPROC>(get_proc_address("glMultiTexCoord3fARB"));
+               glMultiTexCoord3fv = reinterpret_cast<PFNGLMULTITEXCOORD3FVARBPROC>(get_proc_address("glMultiTexCoord3fvARB"));
+               glMultiTexCoord3i = reinterpret_cast<PFNGLMULTITEXCOORD3IARBPROC>(get_proc_address("glMultiTexCoord3iARB"));
+               glMultiTexCoord3iv = reinterpret_cast<PFNGLMULTITEXCOORD3IVARBPROC>(get_proc_address("glMultiTexCoord3ivARB"));
+               glMultiTexCoord3s = reinterpret_cast<PFNGLMULTITEXCOORD3SARBPROC>(get_proc_address("glMultiTexCoord3sARB"));
+               glMultiTexCoord3sv = reinterpret_cast<PFNGLMULTITEXCOORD3SVARBPROC>(get_proc_address("glMultiTexCoord3svARB"));
+               glMultiTexCoord4d = reinterpret_cast<PFNGLMULTITEXCOORD4DARBPROC>(get_proc_address("glMultiTexCoord4dARB"));
+               glMultiTexCoord4dv = reinterpret_cast<PFNGLMULTITEXCOORD4DVARBPROC>(get_proc_address("glMultiTexCoord4dvARB"));
+               glMultiTexCoord4f = reinterpret_cast<PFNGLMULTITEXCOORD4FARBPROC>(get_proc_address("glMultiTexCoord4fARB"));
+               glMultiTexCoord4fv = reinterpret_cast<PFNGLMULTITEXCOORD4FVARBPROC>(get_proc_address("glMultiTexCoord4fvARB"));
+               glMultiTexCoord4i = reinterpret_cast<PFNGLMULTITEXCOORD4IARBPROC>(get_proc_address("glMultiTexCoord4iARB"));
+               glMultiTexCoord4iv = reinterpret_cast<PFNGLMULTITEXCOORD4IVARBPROC>(get_proc_address("glMultiTexCoord4ivARB"));
+               glMultiTexCoord4s = reinterpret_cast<PFNGLMULTITEXCOORD4SARBPROC>(get_proc_address("glMultiTexCoord4sARB"));
+               glMultiTexCoord4sv = reinterpret_cast<PFNGLMULTITEXCOORD4SVARBPROC>(get_proc_address("glMultiTexCoord4svARB"));
                return Extension::EXTENSION;
        }
        return Extension::UNSUPPORTED;