#include "gl3w.h" #ifdef _MSC_VER #pragma warning (disable: 4055) // warning C4055: 'type cast' : from data pointer 'void *' to function pointer #pragma warning (disable: 4152) // warning C4152: nonstandard extension, function/data pointer conversion in expression #endif #ifdef _WIN32 #define WIN32_LEAN_AND_MEAN 1 #include static HMODULE libgl; static void open_libgl(void) { libgl = LoadLibraryA("opengl32.dll"); } static void close_libgl(void) { FreeLibrary(libgl); } static void *get_proc(const char *proc) { void *res; res = wglGetProcAddress(proc); if (!res) res = GetProcAddress(libgl, proc); return res; } #elif defined(__APPLE__) || defined(__APPLE_CC__) #include CFBundleRef bundle; CFURLRef bundleURL; static void open_libgl(void) { bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR("/System/Library/Frameworks/OpenGL.framework"), kCFURLPOSIXPathStyle, true); bundle = CFBundleCreate(kCFAllocatorDefault, bundleURL); assert(bundle != NULL); } static void close_libgl(void) { CFRelease(bundle); CFRelease(bundleURL); } static void *get_proc(const char *proc) { void *res; CFStringRef procname = CFStringCreateWithCString(kCFAllocatorDefault, proc, kCFStringEncodingASCII); res = CFBundleGetFunctionPointerForName(bundle, procname); CFRelease(procname); return res; } #else #include #include static void *libgl; static void open_libgl(void) { libgl = dlopen("libGL.so.1", RTLD_LAZY | RTLD_GLOBAL); } static void close_libgl(void) { dlclose(libgl); } static void *get_proc(const char *proc) { void *res; res = (void*)glXGetProcAddress((const GLubyte *)proc); if (!res) res = dlsym(libgl, proc); return res; } #endif static struct { int major, minor; } version; static int parse_version(void) { if (!glGetIntegerv) return -1; glGetIntegerv(GL_MAJOR_VERSION, &version.major); glGetIntegerv(GL_MINOR_VERSION, &version.minor); if (version.major < 3) return -1; return 0; } static void load_procs(void); int gl3wInit(void) { open_libgl(); load_procs(); close_libgl(); return parse_version(); } int gl3wIsSupported(int major, int minor) { if (major < 3) return 0; if (version.major == major) return version.minor >= minor; return version.major >= major; } void *gl3wGetProcAddress(const char *proc) { return get_proc(proc); } PFNGLCULLFACEPROC gl3wCullFace; PFNGLFRONTFACEPROC gl3wFrontFace; PFNGLHINTPROC gl3wHint; PFNGLLINEWIDTHPROC gl3wLineWidth; PFNGLPOINTSIZEPROC gl3wPointSize; PFNGLPOLYGONMODEPROC gl3wPolygonMode; PFNGLSCISSORPROC gl3wScissor; PFNGLTEXPARAMETERFPROC gl3wTexParameterf; PFNGLTEXPARAMETERFVPROC gl3wTexParameterfv; PFNGLTEXPARAMETERIPROC gl3wTexParameteri; PFNGLTEXPARAMETERIVPROC gl3wTexParameteriv; PFNGLTEXIMAGE1DPROC gl3wTexImage1D; PFNGLTEXIMAGE2DPROC gl3wTexImage2D; PFNGLDRAWBUFFERPROC gl3wDrawBuffer; PFNGLCLEARPROC gl3wClear; PFNGLCLEARCOLORPROC gl3wClearColor; PFNGLCLEARSTENCILPROC gl3wClearStencil; PFNGLCLEARDEPTHPROC gl3wClearDepth; PFNGLSTENCILMASKPROC gl3wStencilMask; PFNGLCOLORMASKPROC gl3wColorMask; PFNGLDEPTHMASKPROC gl3wDepthMask; PFNGLDISABLEPROC gl3wDisable; PFNGLENABLEPROC gl3wEnable; PFNGLFINISHPROC gl3wFinish; PFNGLFLUSHPROC gl3wFlush; PFNGLBLENDFUNCPROC gl3wBlendFunc; PFNGLLOGICOPPROC gl3wLogicOp; PFNGLSTENCILFUNCPROC gl3wStencilFunc; PFNGLSTENCILOPPROC gl3wStencilOp; PFNGLDEPTHFUNCPROC gl3wDepthFunc; PFNGLPIXELSTOREFPROC gl3wPixelStoref; PFNGLPIXELSTOREIPROC gl3wPixelStorei; PFNGLREADBUFFERPROC gl3wReadBuffer; PFNGLREADPIXELSPROC gl3wReadPixels; PFNGLGETBOOLEANVPROC gl3wGetBooleanv; PFNGLGETDOUBLEVPROC gl3wGetDoublev; PFNGLGETERRORPROC gl3wGetError; PFNGLGETFLOATVPROC gl3wGetFloatv; PFNGLGETINTEGERVPROC gl3wGetIntegerv; PFNGLGETSTRINGPROC gl3wGetString; PFNGLGETTEXIMAGEPROC gl3wGetTexImage; PFNGLGETTEXPARAMETERFVPROC gl3wGetTexParameterfv; PFNGLGETTEXPARAMETERIVPROC gl3wGetTexParameteriv; PFNGLGETTEXLEVELPARAMETERFVPROC gl3wGetTexLevelParameterfv; PFNGLGETTEXLEVELPARAMETERIVPROC gl3wGetTexLevelParameteriv; PFNGLISENABLEDPROC gl3wIsEnabled; PFNGLDEPTHRANGEPROC gl3wDepthRange; PFNGLVIEWPORTPROC gl3wViewport; PFNGLDRAWARRAYSPROC gl3wDrawArrays; PFNGLDRAWELEMENTSPROC gl3wDrawElements; PFNGLGETPOINTERVPROC gl3wGetPointerv; PFNGLPOLYGONOFFSETPROC gl3wPolygonOffset; PFNGLCOPYTEXIMAGE1DPROC gl3wCopyTexImage1D; PFNGLCOPYTEXIMAGE2DPROC gl3wCopyTexImage2D; PFNGLCOPYTEXSUBIMAGE1DPROC gl3wCopyTexSubImage1D; PFNGLCOPYTEXSUBIMAGE2DPROC gl3wCopyTexSubImage2D; PFNGLTEXSUBIMAGE1DPROC gl3wTexSubImage1D; PFNGLTEXSUBIMAGE2DPROC gl3wTexSubImage2D; PFNGLBINDTEXTUREPROC gl3wBindTexture; PFNGLDELETETEXTURESPROC gl3wDeleteTextures; PFNGLGENTEXTURESPROC gl3wGenTextures; PFNGLISTEXTUREPROC gl3wIsTexture; PFNGLBLENDCOLORPROC gl3wBlendColor; PFNGLBLENDEQUATIONPROC gl3wBlendEquation; PFNGLDRAWRANGEELEMENTSPROC gl3wDrawRangeElements; PFNGLTEXIMAGE3DPROC gl3wTexImage3D; PFNGLTEXSUBIMAGE3DPROC gl3wTexSubImage3D; PFNGLCOPYTEXSUBIMAGE3DPROC gl3wCopyTexSubImage3D; PFNGLACTIVETEXTUREPROC gl3wActiveTexture; PFNGLSAMPLECOVERAGEPROC gl3wSampleCoverage; PFNGLCOMPRESSEDTEXIMAGE3DPROC gl3wCompressedTexImage3D; PFNGLCOMPRESSEDTEXIMAGE2DPROC gl3wCompressedTexImage2D; PFNGLCOMPRESSEDTEXIMAGE1DPROC gl3wCompressedTexImage1D; PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC gl3wCompressedTexSubImage3D; PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC gl3wCompressedTexSubImage2D; PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC gl3wCompressedTexSubImage1D; PFNGLGETCOMPRESSEDTEXIMAGEPROC gl3wGetCompressedTexImage; PFNGLBLENDFUNCSEPARATEPROC gl3wBlendFuncSeparate; PFNGLMULTIDRAWARRAYSPROC gl3wMultiDrawArrays; PFNGLMULTIDRAWELEMENTSPROC gl3wMultiDrawElements; PFNGLPOINTPARAMETERFPROC gl3wPointParameterf; PFNGLPOINTPARAMETERFVPROC gl3wPointParameterfv; PFNGLPOINTPARAMETERIPROC gl3wPointParameteri; PFNGLPOINTPARAMETERIVPROC gl3wPointParameteriv; PFNGLGENQUERIESPROC gl3wGenQueries; PFNGLDELETEQUERIESPROC gl3wDeleteQueries; PFNGLISQUERYPROC gl3wIsQuery; PFNGLBEGINQUERYPROC gl3wBeginQuery; PFNGLENDQUERYPROC gl3wEndQuery; PFNGLGETQUERYIVPROC gl3wGetQueryiv; PFNGLGETQUERYOBJECTIVPROC gl3wGetQueryObjectiv; PFNGLGETQUERYOBJECTUIVPROC gl3wGetQueryObjectuiv; PFNGLBINDBUFFERPROC gl3wBindBuffer; PFNGLDELETEBUFFERSPROC gl3wDeleteBuffers; PFNGLGENBUFFERSPROC gl3wGenBuffers; PFNGLISBUFFERPROC gl3wIsBuffer; PFNGLBUFFERDATAPROC gl3wBufferData; PFNGLBUFFERSUBDATAPROC gl3wBufferSubData; PFNGLGETBUFFERSUBDATAPROC gl3wGetBufferSubData; PFNGLMAPBUFFERPROC gl3wMapBuffer; PFNGLUNMAPBUFFERPROC gl3wUnmapBuffer; PFNGLGETBUFFERPARAMETERIVPROC gl3wGetBufferParameteriv; PFNGLGETBUFFERPOINTERVPROC gl3wGetBufferPointerv; PFNGLBLENDEQUATIONSEPARATEPROC gl3wBlendEquationSeparate; PFNGLDRAWBUFFERSPROC gl3wDrawBuffers; PFNGLSTENCILOPSEPARATEPROC gl3wStencilOpSeparate; PFNGLSTENCILFUNCSEPARATEPROC gl3wStencilFuncSeparate; PFNGLSTENCILMASKSEPARATEPROC gl3wStencilMaskSeparate; PFNGLATTACHSHADERPROC gl3wAttachShader; PFNGLBINDATTRIBLOCATIONPROC gl3wBindAttribLocation; PFNGLCOMPILESHADERPROC gl3wCompileShader; PFNGLCREATEPROGRAMPROC gl3wCreateProgram; PFNGLCREATESHADERPROC gl3wCreateShader; PFNGLDELETEPROGRAMPROC gl3wDeleteProgram; PFNGLDELETESHADERPROC gl3wDeleteShader; PFNGLDETACHSHADERPROC gl3wDetachShader; PFNGLDISABLEVERTEXATTRIBARRAYPROC gl3wDisableVertexAttribArray; PFNGLENABLEVERTEXATTRIBARRAYPROC gl3wEnableVertexAttribArray; PFNGLGETACTIVEATTRIBPROC gl3wGetActiveAttrib; PFNGLGETACTIVEUNIFORMPROC gl3wGetActiveUniform; PFNGLGETATTACHEDSHADERSPROC gl3wGetAttachedShaders; PFNGLGETATTRIBLOCATIONPROC gl3wGetAttribLocation; PFNGLGETPROGRAMIVPROC gl3wGetProgramiv; PFNGLGETPROGRAMINFOLOGPROC gl3wGetProgramInfoLog; PFNGLGETSHADERIVPROC gl3wGetShaderiv; PFNGLGETSHADERINFOLOGPROC gl3wGetShaderInfoLog; PFNGLGETSHADERSOURCEPROC gl3wGetShaderSource; PFNGLGETUNIFORMLOCATIONPROC gl3wGetUniformLocation; PFNGLGETUNIFORMFVPROC gl3wGetUniformfv; PFNGLGETUNIFORMIVPROC gl3wGetUniformiv; PFNGLGETVERTEXATTRIBDVPROC gl3wGetVertexAttribdv; PFNGLGETVERTEXATTRIBFVPROC gl3wGetVertexAttribfv; PFNGLGETVERTEXATTRIBIVPROC gl3wGetVertexAttribiv; PFNGLGETVERTEXATTRIBPOINTERVPROC gl3wGetVertexAttribPointerv; PFNGLISPROGRAMPROC gl3wIsProgram; PFNGLISSHADERPROC gl3wIsShader; PFNGLLINKPROGRAMPROC gl3wLinkProgram; PFNGLSHADERSOURCEPROC gl3wShaderSource; PFNGLUSEPROGRAMPROC gl3wUseProgram; PFNGLUNIFORM1FPROC gl3wUniform1f; PFNGLUNIFORM2FPROC gl3wUniform2f; PFNGLUNIFORM3FPROC gl3wUniform3f; PFNGLUNIFORM4FPROC gl3wUniform4f; PFNGLUNIFORM1IPROC gl3wUniform1i; PFNGLUNIFORM2IPROC gl3wUniform2i; PFNGLUNIFORM3IPROC gl3wUniform3i; PFNGLUNIFORM4IPROC gl3wUniform4i; PFNGLUNIFORM1FVPROC gl3wUniform1fv; PFNGLUNIFORM2FVPROC gl3wUniform2fv; PFNGLUNIFORM3FVPROC gl3wUniform3fv; PFNGLUNIFORM4FVPROC gl3wUniform4fv; PFNGLUNIFORM1IVPROC gl3wUniform1iv; PFNGLUNIFORM2IVPROC gl3wUniform2iv; PFNGLUNIFORM3IVPROC gl3wUniform3iv; PFNGLUNIFORM4IVPROC gl3wUniform4iv; PFNGLUNIFORMMATRIX2FVPROC gl3wUniformMatrix2fv; PFNGLUNIFORMMATRIX3FVPROC gl3wUniformMatrix3fv; PFNGLUNIFORMMATRIX4FVPROC gl3wUniformMatrix4fv; PFNGLVALIDATEPROGRAMPROC gl3wValidateProgram; PFNGLVERTEXATTRIB1DPROC gl3wVertexAttrib1d; PFNGLVERTEXATTRIB1DVPROC gl3wVertexAttrib1dv; PFNGLVERTEXATTRIB1FPROC gl3wVertexAttrib1f; PFNGLVERTEXATTRIB1FVPROC gl3wVertexAttrib1fv; PFNGLVERTEXATTRIB1SPROC gl3wVertexAttrib1s; PFNGLVERTEXATTRIB1SVPROC gl3wVertexAttrib1sv; PFNGLVERTEXATTRIB2DPROC gl3wVertexAttrib2d; PFNGLVERTEXATTRIB2DVPROC gl3wVertexAttrib2dv; PFNGLVERTEXATTRIB2FPROC gl3wVertexAttrib2f; PFNGLVERTEXATTRIB2FVPROC gl3wVertexAttrib2fv; PFNGLVERTEXATTRIB2SPROC gl3wVertexAttrib2s; PFNGLVERTEXATTRIB2SVPROC gl3wVertexAttrib2sv; PFNGLVERTEXATTRIB3DPROC gl3wVertexAttrib3d; PFNGLVERTEXATTRIB3DVPROC gl3wVertexAttrib3dv; PFNGLVERTEXATTRIB3FPROC gl3wVertexAttrib3f; PFNGLVERTEXATTRIB3FVPROC gl3wVertexAttrib3fv; PFNGLVERTEXATTRIB3SPROC gl3wVertexAttrib3s; PFNGLVERTEXATTRIB3SVPROC gl3wVertexAttrib3sv; PFNGLVERTEXATTRIB4NBVPROC gl3wVertexAttrib4Nbv; PFNGLVERTEXATTRIB4NIVPROC gl3wVertexAttrib4Niv; PFNGLVERTEXATTRIB4NSVPROC gl3wVertexAttrib4Nsv; PFNGLVERTEXATTRIB4NUBPROC gl3wVertexAttrib4Nub; PFNGLVERTEXATTRIB4NUBVPROC gl3wVertexAttrib4Nubv; PFNGLVERTEXATTRIB4NUIVPROC gl3wVertexAttrib4Nuiv; PFNGLVERTEXATTRIB4NUSVPROC gl3wVertexAttrib4Nusv; PFNGLVERTEXATTRIB4BVPROC gl3wVertexAttrib4bv; PFNGLVERTEXATTRIB4DPROC gl3wVertexAttrib4d; PFNGLVERTEXATTRIB4DVPROC gl3wVertexAttrib4dv; PFNGLVERTEXATTRIB4FPROC gl3wVertexAttrib4f; PFNGLVERTEXATTRIB4FVPROC gl3wVertexAttrib4fv; PFNGLVERTEXATTRIB4IVPROC gl3wVertexAttrib4iv; PFNGLVERTEXATTRIB4SPROC gl3wVertexAttrib4s; PFNGLVERTEXATTRIB4SVPROC gl3wVertexAttrib4sv; PFNGLVERTEXATTRIB4UBVPROC gl3wVertexAttrib4ubv; PFNGLVERTEXATTRIB4UIVPROC gl3wVertexAttrib4uiv; PFNGLVERTEXATTRIB4USVPROC gl3wVertexAttrib4usv; PFNGLVERTEXATTRIBPOINTERPROC gl3wVertexAttribPointer; PFNGLUNIFORMMATRIX2X3FVPROC gl3wUniformMatrix2x3fv; PFNGLUNIFORMMATRIX3X2FVPROC gl3wUniformMatrix3x2fv; PFNGLUNIFORMMATRIX2X4FVPROC gl3wUniformMatrix2x4fv; PFNGLUNIFORMMATRIX4X2FVPROC gl3wUniformMatrix4x2fv; PFNGLUNIFORMMATRIX3X4FVPROC gl3wUniformMatrix3x4fv; PFNGLUNIFORMMATRIX4X3FVPROC gl3wUniformMatrix4x3fv; PFNGLCOLORMASKIPROC gl3wColorMaski; PFNGLGETBOOLEANI_VPROC gl3wGetBooleani_v; PFNGLGETINTEGERI_VPROC gl3wGetIntegeri_v; PFNGLENABLEIPROC gl3wEnablei; PFNGLDISABLEIPROC gl3wDisablei; PFNGLISENABLEDIPROC gl3wIsEnabledi; PFNGLBEGINTRANSFORMFEEDBACKPROC gl3wBeginTransformFeedback; PFNGLENDTRANSFORMFEEDBACKPROC gl3wEndTransformFeedback; PFNGLBINDBUFFERRANGEPROC gl3wBindBufferRange; PFNGLBINDBUFFERBASEPROC gl3wBindBufferBase; PFNGLTRANSFORMFEEDBACKVARYINGSPROC gl3wTransformFeedbackVaryings; PFNGLGETTRANSFORMFEEDBACKVARYINGPROC gl3wGetTransformFeedbackVarying; PFNGLCLAMPCOLORPROC gl3wClampColor; PFNGLBEGINCONDITIONALRENDERPROC gl3wBeginConditionalRender; PFNGLENDCONDITIONALRENDERPROC gl3wEndConditionalRender; PFNGLVERTEXATTRIBIPOINTERPROC gl3wVertexAttribIPointer; PFNGLGETVERTEXATTRIBIIVPROC gl3wGetVertexAttribIiv; PFNGLGETVERTEXATTRIBIUIVPROC gl3wGetVertexAttribIuiv; PFNGLVERTEXATTRIBI1IPROC gl3wVertexAttribI1i; PFNGLVERTEXATTRIBI2IPROC gl3wVertexAttribI2i; PFNGLVERTEXATTRIBI3IPROC gl3wVertexAttribI3i; PFNGLVERTEXATTRIBI4IPROC gl3wVertexAttribI4i; PFNGLVERTEXATTRIBI1UIPROC gl3wVertexAttribI1ui; PFNGLVERTEXATTRIBI2UIPROC gl3wVertexAttribI2ui; PFNGLVERTEXATTRIBI3UIPROC gl3wVertexAttribI3ui; PFNGLVERTEXATTRIBI4UIPROC gl3wVertexAttribI4ui; PFNGLVERTEXATTRIBI1IVPROC gl3wVertexAttribI1iv; PFNGLVERTEXATTRIBI2IVPROC gl3wVertexAttribI2iv; PFNGLVERTEXATTRIBI3IVPROC gl3wVertexAttribI3iv; PFNGLVERTEXATTRIBI4IVPROC gl3wVertexAttribI4iv; PFNGLVERTEXATTRIBI1UIVPROC gl3wVertexAttribI1uiv; PFNGLVERTEXATTRIBI2UIVPROC gl3wVertexAttribI2uiv; PFNGLVERTEXATTRIBI3UIVPROC gl3wVertexAttribI3uiv; PFNGLVERTEXATTRIBI4UIVPROC gl3wVertexAttribI4uiv; PFNGLVERTEXATTRIBI4BVPROC gl3wVertexAttribI4bv; PFNGLVERTEXATTRIBI4SVPROC gl3wVertexAttribI4sv; PFNGLVERTEXATTRIBI4UBVPROC gl3wVertexAttribI4ubv; PFNGLVERTEXATTRIBI4USVPROC gl3wVertexAttribI4usv; PFNGLGETUNIFORMUIVPROC gl3wGetUniformuiv; PFNGLBINDFRAGDATALOCATIONPROC gl3wBindFragDataLocation; PFNGLGETFRAGDATALOCATIONPROC gl3wGetFragDataLocation; PFNGLUNIFORM1UIPROC gl3wUniform1ui; PFNGLUNIFORM2UIPROC gl3wUniform2ui; PFNGLUNIFORM3UIPROC gl3wUniform3ui; PFNGLUNIFORM4UIPROC gl3wUniform4ui; PFNGLUNIFORM1UIVPROC gl3wUniform1uiv; PFNGLUNIFORM2UIVPROC gl3wUniform2uiv; PFNGLUNIFORM3UIVPROC gl3wUniform3uiv; PFNGLUNIFORM4UIVPROC gl3wUniform4uiv; PFNGLTEXPARAMETERIIVPROC gl3wTexParameterIiv; PFNGLTEXPARAMETERIUIVPROC gl3wTexParameterIuiv; PFNGLGETTEXPARAMETERIIVPROC gl3wGetTexParameterIiv; PFNGLGETTEXPARAMETERIUIVPROC gl3wGetTexParameterIuiv; PFNGLCLEARBUFFERIVPROC gl3wClearBufferiv; PFNGLCLEARBUFFERUIVPROC gl3wClearBufferuiv; PFNGLCLEARBUFFERFVPROC gl3wClearBufferfv; PFNGLCLEARBUFFERFIPROC gl3wClearBufferfi; PFNGLGETSTRINGIPROC gl3wGetStringi; PFNGLDRAWARRAYSINSTANCEDPROC gl3wDrawArraysInstanced; PFNGLDRAWELEMENTSINSTANCEDPROC gl3wDrawElementsInstanced; PFNGLTEXBUFFERPROC gl3wTexBuffer; PFNGLPRIMITIVERESTARTINDEXPROC gl3wPrimitiveRestartIndex; PFNGLGETINTEGER64I_VPROC gl3wGetInteger64i_v; PFNGLGETBUFFERPARAMETERI64VPROC gl3wGetBufferParameteri64v; PFNGLFRAMEBUFFERTEXTUREPROC gl3wFramebufferTexture; PFNGLVERTEXATTRIBDIVISORPROC gl3wVertexAttribDivisor; PFNGLMINSAMPLESHADINGPROC gl3wMinSampleShading; PFNGLBLENDEQUATIONIPROC gl3wBlendEquationi; PFNGLBLENDEQUATIONSEPARATEIPROC gl3wBlendEquationSeparatei; PFNGLBLENDFUNCIPROC gl3wBlendFunci; PFNGLBLENDFUNCSEPARATEIPROC gl3wBlendFuncSeparatei; PFNGLISRENDERBUFFERPROC gl3wIsRenderbuffer; PFNGLBINDRENDERBUFFERPROC gl3wBindRenderbuffer; PFNGLDELETERENDERBUFFERSPROC gl3wDeleteRenderbuffers; PFNGLGENRENDERBUFFERSPROC gl3wGenRenderbuffers; PFNGLRENDERBUFFERSTORAGEPROC gl3wRenderbufferStorage; PFNGLGETRENDERBUFFERPARAMETERIVPROC gl3wGetRenderbufferParameteriv; PFNGLISFRAMEBUFFERPROC gl3wIsFramebuffer; PFNGLBINDFRAMEBUFFERPROC gl3wBindFramebuffer; PFNGLDELETEFRAMEBUFFERSPROC gl3wDeleteFramebuffers; PFNGLGENFRAMEBUFFERSPROC gl3wGenFramebuffers; PFNGLCHECKFRAMEBUFFERSTATUSPROC gl3wCheckFramebufferStatus; PFNGLFRAMEBUFFERTEXTURE1DPROC gl3wFramebufferTexture1D; PFNGLFRAMEBUFFERTEXTURE2DPROC gl3wFramebufferTexture2D; PFNGLFRAMEBUFFERTEXTURE3DPROC gl3wFramebufferTexture3D; PFNGLFRAMEBUFFERRENDERBUFFERPROC gl3wFramebufferRenderbuffer; PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC gl3wGetFramebufferAttachmentParameteriv; PFNGLGENERATEMIPMAPPROC gl3wGenerateMipmap; PFNGLBLITFRAMEBUFFERPROC gl3wBlitFramebuffer; PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC gl3wRenderbufferStorageMultisample; PFNGLFRAMEBUFFERTEXTURELAYERPROC gl3wFramebufferTextureLayer; PFNGLMAPBUFFERRANGEPROC gl3wMapBufferRange; PFNGLFLUSHMAPPEDBUFFERRANGEPROC gl3wFlushMappedBufferRange; PFNGLBINDVERTEXARRAYPROC gl3wBindVertexArray; PFNGLDELETEVERTEXARRAYSPROC gl3wDeleteVertexArrays; PFNGLGENVERTEXARRAYSPROC gl3wGenVertexArrays; PFNGLISVERTEXARRAYPROC gl3wIsVertexArray; PFNGLGETUNIFORMINDICESPROC gl3wGetUniformIndices; PFNGLGETACTIVEUNIFORMSIVPROC gl3wGetActiveUniformsiv; PFNGLGETACTIVEUNIFORMNAMEPROC gl3wGetActiveUniformName; PFNGLGETUNIFORMBLOCKINDEXPROC gl3wGetUniformBlockIndex; PFNGLGETACTIVEUNIFORMBLOCKIVPROC gl3wGetActiveUniformBlockiv; PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC gl3wGetActiveUniformBlockName; PFNGLUNIFORMBLOCKBINDINGPROC gl3wUniformBlockBinding; PFNGLCOPYBUFFERSUBDATAPROC gl3wCopyBufferSubData; PFNGLDRAWELEMENTSBASEVERTEXPROC gl3wDrawElementsBaseVertex; PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC gl3wDrawRangeElementsBaseVertex; PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC gl3wDrawElementsInstancedBaseVertex; PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC gl3wMultiDrawElementsBaseVertex; PFNGLPROVOKINGVERTEXPROC gl3wProvokingVertex; PFNGLFENCESYNCPROC gl3wFenceSync; PFNGLISSYNCPROC gl3wIsSync; PFNGLDELETESYNCPROC gl3wDeleteSync; PFNGLCLIENTWAITSYNCPROC gl3wClientWaitSync; PFNGLWAITSYNCPROC gl3wWaitSync; PFNGLGETINTEGER64VPROC gl3wGetInteger64v; PFNGLGETSYNCIVPROC gl3wGetSynciv; PFNGLTEXIMAGE2DMULTISAMPLEPROC gl3wTexImage2DMultisample; PFNGLTEXIMAGE3DMULTISAMPLEPROC gl3wTexImage3DMultisample; PFNGLGETMULTISAMPLEFVPROC gl3wGetMultisamplefv; PFNGLSAMPLEMASKIPROC gl3wSampleMaski; PFNGLBLENDEQUATIONIARBPROC gl3wBlendEquationiARB; PFNGLBLENDEQUATIONSEPARATEIARBPROC gl3wBlendEquationSeparateiARB; PFNGLBLENDFUNCIARBPROC gl3wBlendFunciARB; PFNGLBLENDFUNCSEPARATEIARBPROC gl3wBlendFuncSeparateiARB; PFNGLMINSAMPLESHADINGARBPROC gl3wMinSampleShadingARB; PFNGLNAMEDSTRINGARBPROC gl3wNamedStringARB; PFNGLDELETENAMEDSTRINGARBPROC gl3wDeleteNamedStringARB; PFNGLCOMPILESHADERINCLUDEARBPROC gl3wCompileShaderIncludeARB; PFNGLISNAMEDSTRINGARBPROC gl3wIsNamedStringARB; PFNGLGETNAMEDSTRINGARBPROC gl3wGetNamedStringARB; PFNGLGETNAMEDSTRINGIVARBPROC gl3wGetNamedStringivARB; PFNGLBINDFRAGDATALOCATIONINDEXEDPROC gl3wBindFragDataLocationIndexed; PFNGLGETFRAGDATAINDEXPROC gl3wGetFragDataIndex; PFNGLGENSAMPLERSPROC gl3wGenSamplers; PFNGLDELETESAMPLERSPROC gl3wDeleteSamplers; PFNGLISSAMPLERPROC gl3wIsSampler; PFNGLBINDSAMPLERPROC gl3wBindSampler; PFNGLSAMPLERPARAMETERIPROC gl3wSamplerParameteri; PFNGLSAMPLERPARAMETERIVPROC gl3wSamplerParameteriv; PFNGLSAMPLERPARAMETERFPROC gl3wSamplerParameterf; PFNGLSAMPLERPARAMETERFVPROC gl3wSamplerParameterfv; PFNGLSAMPLERPARAMETERIIVPROC gl3wSamplerParameterIiv; PFNGLSAMPLERPARAMETERIUIVPROC gl3wSamplerParameterIuiv; PFNGLGETSAMPLERPARAMETERIVPROC gl3wGetSamplerParameteriv; PFNGLGETSAMPLERPARAMETERIIVPROC gl3wGetSamplerParameterIiv; PFNGLGETSAMPLERPARAMETERFVPROC gl3wGetSamplerParameterfv; PFNGLGETSAMPLERPARAMETERIUIVPROC gl3wGetSamplerParameterIuiv; PFNGLQUERYCOUNTERPROC gl3wQueryCounter; PFNGLGETQUERYOBJECTI64VPROC gl3wGetQueryObjecti64v; PFNGLGETQUERYOBJECTUI64VPROC gl3wGetQueryObjectui64v; PFNGLVERTEXP2UIPROC gl3wVertexP2ui; PFNGLVERTEXP2UIVPROC gl3wVertexP2uiv; PFNGLVERTEXP3UIPROC gl3wVertexP3ui; PFNGLVERTEXP3UIVPROC gl3wVertexP3uiv; PFNGLVERTEXP4UIPROC gl3wVertexP4ui; PFNGLVERTEXP4UIVPROC gl3wVertexP4uiv; PFNGLTEXCOORDP1UIPROC gl3wTexCoordP1ui; PFNGLTEXCOORDP1UIVPROC gl3wTexCoordP1uiv; PFNGLTEXCOORDP2UIPROC gl3wTexCoordP2ui; PFNGLTEXCOORDP2UIVPROC gl3wTexCoordP2uiv; PFNGLTEXCOORDP3UIPROC gl3wTexCoordP3ui; PFNGLTEXCOORDP3UIVPROC gl3wTexCoordP3uiv; PFNGLTEXCOORDP4UIPROC gl3wTexCoordP4ui; PFNGLTEXCOORDP4UIVPROC gl3wTexCoordP4uiv; PFNGLMULTITEXCOORDP1UIPROC gl3wMultiTexCoordP1ui; PFNGLMULTITEXCOORDP1UIVPROC gl3wMultiTexCoordP1uiv; PFNGLMULTITEXCOORDP2UIPROC gl3wMultiTexCoordP2ui; PFNGLMULTITEXCOORDP2UIVPROC gl3wMultiTexCoordP2uiv; PFNGLMULTITEXCOORDP3UIPROC gl3wMultiTexCoordP3ui; PFNGLMULTITEXCOORDP3UIVPROC gl3wMultiTexCoordP3uiv; PFNGLMULTITEXCOORDP4UIPROC gl3wMultiTexCoordP4ui; PFNGLMULTITEXCOORDP4UIVPROC gl3wMultiTexCoordP4uiv; PFNGLNORMALP3UIPROC gl3wNormalP3ui; PFNGLNORMALP3UIVPROC gl3wNormalP3uiv; PFNGLCOLORP3UIPROC gl3wColorP3ui; PFNGLCOLORP3UIVPROC gl3wColorP3uiv; PFNGLCOLORP4UIPROC gl3wColorP4ui; PFNGLCOLORP4UIVPROC gl3wColorP4uiv; PFNGLSECONDARYCOLORP3UIPROC gl3wSecondaryColorP3ui; PFNGLSECONDARYCOLORP3UIVPROC gl3wSecondaryColorP3uiv; PFNGLVERTEXATTRIBP1UIPROC gl3wVertexAttribP1ui; PFNGLVERTEXATTRIBP1UIVPROC gl3wVertexAttribP1uiv; PFNGLVERTEXATTRIBP2UIPROC gl3wVertexAttribP2ui; PFNGLVERTEXATTRIBP2UIVPROC gl3wVertexAttribP2uiv; PFNGLVERTEXATTRIBP3UIPROC gl3wVertexAttribP3ui; PFNGLVERTEXATTRIBP3UIVPROC gl3wVertexAttribP3uiv; PFNGLVERTEXATTRIBP4UIPROC gl3wVertexAttribP4ui; PFNGLVERTEXATTRIBP4UIVPROC gl3wVertexAttribP4uiv; PFNGLDRAWARRAYSINDIRECTPROC gl3wDrawArraysIndirect; PFNGLDRAWELEMENTSINDIRECTPROC gl3wDrawElementsIndirect; PFNGLUNIFORM1DPROC gl3wUniform1d; PFNGLUNIFORM2DPROC gl3wUniform2d; PFNGLUNIFORM3DPROC gl3wUniform3d; PFNGLUNIFORM4DPROC gl3wUniform4d; PFNGLUNIFORM1DVPROC gl3wUniform1dv; PFNGLUNIFORM2DVPROC gl3wUniform2dv; PFNGLUNIFORM3DVPROC gl3wUniform3dv; PFNGLUNIFORM4DVPROC gl3wUniform4dv; PFNGLUNIFORMMATRIX2DVPROC gl3wUniformMatrix2dv; PFNGLUNIFORMMATRIX3DVPROC gl3wUniformMatrix3dv; PFNGLUNIFORMMATRIX4DVPROC gl3wUniformMatrix4dv; PFNGLUNIFORMMATRIX2X3DVPROC gl3wUniformMatrix2x3dv; PFNGLUNIFORMMATRIX2X4DVPROC gl3wUniformMatrix2x4dv; PFNGLUNIFORMMATRIX3X2DVPROC gl3wUniformMatrix3x2dv; PFNGLUNIFORMMATRIX3X4DVPROC gl3wUniformMatrix3x4dv; PFNGLUNIFORMMATRIX4X2DVPROC gl3wUniformMatrix4x2dv; PFNGLUNIFORMMATRIX4X3DVPROC gl3wUniformMatrix4x3dv; PFNGLGETUNIFORMDVPROC gl3wGetUniformdv; PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC gl3wGetSubroutineUniformLocation; PFNGLGETSUBROUTINEINDEXPROC gl3wGetSubroutineIndex; PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC gl3wGetActiveSubroutineUniformiv; PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC gl3wGetActiveSubroutineUniformName; PFNGLGETACTIVESUBROUTINENAMEPROC gl3wGetActiveSubroutineName; PFNGLUNIFORMSUBROUTINESUIVPROC gl3wUniformSubroutinesuiv; PFNGLGETUNIFORMSUBROUTINEUIVPROC gl3wGetUniformSubroutineuiv; PFNGLGETPROGRAMSTAGEIVPROC gl3wGetProgramStageiv; PFNGLPATCHPARAMETERIPROC gl3wPatchParameteri; PFNGLPATCHPARAMETERFVPROC gl3wPatchParameterfv; PFNGLBINDTRANSFORMFEEDBACKPROC gl3wBindTransformFeedback; PFNGLDELETETRANSFORMFEEDBACKSPROC gl3wDeleteTransformFeedbacks; PFNGLGENTRANSFORMFEEDBACKSPROC gl3wGenTransformFeedbacks; PFNGLISTRANSFORMFEEDBACKPROC gl3wIsTransformFeedback; PFNGLPAUSETRANSFORMFEEDBACKPROC gl3wPauseTransformFeedback; PFNGLRESUMETRANSFORMFEEDBACKPROC gl3wResumeTransformFeedback; PFNGLDRAWTRANSFORMFEEDBACKPROC gl3wDrawTransformFeedback; PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC gl3wDrawTransformFeedbackStream; PFNGLBEGINQUERYINDEXEDPROC gl3wBeginQueryIndexed; PFNGLENDQUERYINDEXEDPROC gl3wEndQueryIndexed; PFNGLGETQUERYINDEXEDIVPROC gl3wGetQueryIndexediv; PFNGLRELEASESHADERCOMPILERPROC gl3wReleaseShaderCompiler; PFNGLSHADERBINARYPROC gl3wShaderBinary; PFNGLGETSHADERPRECISIONFORMATPROC gl3wGetShaderPrecisionFormat; PFNGLDEPTHRANGEFPROC gl3wDepthRangef; PFNGLCLEARDEPTHFPROC gl3wClearDepthf; PFNGLGETPROGRAMBINARYPROC gl3wGetProgramBinary; PFNGLPROGRAMBINARYPROC gl3wProgramBinary; PFNGLPROGRAMPARAMETERIPROC gl3wProgramParameteri; PFNGLUSEPROGRAMSTAGESPROC gl3wUseProgramStages; PFNGLACTIVESHADERPROGRAMPROC gl3wActiveShaderProgram; PFNGLCREATESHADERPROGRAMVPROC gl3wCreateShaderProgramv; PFNGLBINDPROGRAMPIPELINEPROC gl3wBindProgramPipeline; PFNGLDELETEPROGRAMPIPELINESPROC gl3wDeleteProgramPipelines; PFNGLGENPROGRAMPIPELINESPROC gl3wGenProgramPipelines; PFNGLISPROGRAMPIPELINEPROC gl3wIsProgramPipeline; PFNGLGETPROGRAMPIPELINEIVPROC gl3wGetProgramPipelineiv; PFNGLPROGRAMUNIFORM1IPROC gl3wProgramUniform1i; PFNGLPROGRAMUNIFORM1IVPROC gl3wProgramUniform1iv; PFNGLPROGRAMUNIFORM1FPROC gl3wProgramUniform1f; PFNGLPROGRAMUNIFORM1FVPROC gl3wProgramUniform1fv; PFNGLPROGRAMUNIFORM1DPROC gl3wProgramUniform1d; PFNGLPROGRAMUNIFORM1DVPROC gl3wProgramUniform1dv; PFNGLPROGRAMUNIFORM1UIPROC gl3wProgramUniform1ui; PFNGLPROGRAMUNIFORM1UIVPROC gl3wProgramUniform1uiv; PFNGLPROGRAMUNIFORM2IPROC gl3wProgramUniform2i; PFNGLPROGRAMUNIFORM2IVPROC gl3wProgramUniform2iv; PFNGLPROGRAMUNIFORM2FPROC gl3wProgramUniform2f; PFNGLPROGRAMUNIFORM2FVPROC gl3wProgramUniform2fv; PFNGLPROGRAMUNIFORM2DPROC gl3wProgramUniform2d; PFNGLPROGRAMUNIFORM2DVPROC gl3wProgramUniform2dv; PFNGLPROGRAMUNIFORM2UIPROC gl3wProgramUniform2ui; PFNGLPROGRAMUNIFORM2UIVPROC gl3wProgramUniform2uiv; PFNGLPROGRAMUNIFORM3IPROC gl3wProgramUniform3i; PFNGLPROGRAMUNIFORM3IVPROC gl3wProgramUniform3iv; PFNGLPROGRAMUNIFORM3FPROC gl3wProgramUniform3f; PFNGLPROGRAMUNIFORM3FVPROC gl3wProgramUniform3fv; PFNGLPROGRAMUNIFORM3DPROC gl3wProgramUniform3d; PFNGLPROGRAMUNIFORM3DVPROC gl3wProgramUniform3dv; PFNGLPROGRAMUNIFORM3UIPROC gl3wProgramUniform3ui; PFNGLPROGRAMUNIFORM3UIVPROC gl3wProgramUniform3uiv; PFNGLPROGRAMUNIFORM4IPROC gl3wProgramUniform4i; PFNGLPROGRAMUNIFORM4IVPROC gl3wProgramUniform4iv; PFNGLPROGRAMUNIFORM4FPROC gl3wProgramUniform4f; PFNGLPROGRAMUNIFORM4FVPROC gl3wProgramUniform4fv; PFNGLPROGRAMUNIFORM4DPROC gl3wProgramUniform4d; PFNGLPROGRAMUNIFORM4DVPROC gl3wProgramUniform4dv; PFNGLPROGRAMUNIFORM4UIPROC gl3wProgramUniform4ui; PFNGLPROGRAMUNIFORM4UIVPROC gl3wProgramUniform4uiv; PFNGLPROGRAMUNIFORMMATRIX2FVPROC gl3wProgramUniformMatrix2fv; PFNGLPROGRAMUNIFORMMATRIX3FVPROC gl3wProgramUniformMatrix3fv; PFNGLPROGRAMUNIFORMMATRIX4FVPROC gl3wProgramUniformMatrix4fv; PFNGLPROGRAMUNIFORMMATRIX2DVPROC gl3wProgramUniformMatrix2dv; PFNGLPROGRAMUNIFORMMATRIX3DVPROC gl3wProgramUniformMatrix3dv; PFNGLPROGRAMUNIFORMMATRIX4DVPROC gl3wProgramUniformMatrix4dv; PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC gl3wProgramUniformMatrix2x3fv; PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC gl3wProgramUniformMatrix3x2fv; PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC gl3wProgramUniformMatrix2x4fv; PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC gl3wProgramUniformMatrix4x2fv; PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC gl3wProgramUniformMatrix3x4fv; PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC gl3wProgramUniformMatrix4x3fv; PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC gl3wProgramUniformMatrix2x3dv; PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC gl3wProgramUniformMatrix3x2dv; PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC gl3wProgramUniformMatrix2x4dv; PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC gl3wProgramUniformMatrix4x2dv; PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC gl3wProgramUniformMatrix3x4dv; PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC gl3wProgramUniformMatrix4x3dv; PFNGLVALIDATEPROGRAMPIPELINEPROC gl3wValidateProgramPipeline; PFNGLGETPROGRAMPIPELINEINFOLOGPROC gl3wGetProgramPipelineInfoLog; PFNGLVERTEXATTRIBL1DPROC gl3wVertexAttribL1d; PFNGLVERTEXATTRIBL2DPROC gl3wVertexAttribL2d; PFNGLVERTEXATTRIBL3DPROC gl3wVertexAttribL3d; PFNGLVERTEXATTRIBL4DPROC gl3wVertexAttribL4d; PFNGLVERTEXATTRIBL1DVPROC gl3wVertexAttribL1dv; PFNGLVERTEXATTRIBL2DVPROC gl3wVertexAttribL2dv; PFNGLVERTEXATTRIBL3DVPROC gl3wVertexAttribL3dv; PFNGLVERTEXATTRIBL4DVPROC gl3wVertexAttribL4dv; PFNGLVERTEXATTRIBLPOINTERPROC gl3wVertexAttribLPointer; PFNGLGETVERTEXATTRIBLDVPROC gl3wGetVertexAttribLdv; PFNGLVIEWPORTARRAYVPROC gl3wViewportArrayv; PFNGLVIEWPORTINDEXEDFPROC gl3wViewportIndexedf; PFNGLVIEWPORTINDEXEDFVPROC gl3wViewportIndexedfv; PFNGLSCISSORARRAYVPROC gl3wScissorArrayv; PFNGLSCISSORINDEXEDPROC gl3wScissorIndexed; PFNGLSCISSORINDEXEDVPROC gl3wScissorIndexedv; PFNGLDEPTHRANGEARRAYVPROC gl3wDepthRangeArrayv; PFNGLDEPTHRANGEINDEXEDPROC gl3wDepthRangeIndexed; PFNGLGETFLOATI_VPROC gl3wGetFloati_v; PFNGLGETDOUBLEI_VPROC gl3wGetDoublei_v; PFNGLCREATESYNCFROMCLEVENTARBPROC gl3wCreateSyncFromCLeventARB; PFNGLDEBUGMESSAGECONTROLARBPROC gl3wDebugMessageControlARB; PFNGLDEBUGMESSAGEINSERTARBPROC gl3wDebugMessageInsertARB; PFNGLDEBUGMESSAGECALLBACKARBPROC gl3wDebugMessageCallbackARB; PFNGLGETDEBUGMESSAGELOGARBPROC gl3wGetDebugMessageLogARB; PFNGLGETGRAPHICSRESETSTATUSARBPROC gl3wGetGraphicsResetStatusARB; PFNGLGETNTEXIMAGEARBPROC gl3wGetnTexImageARB; PFNGLREADNPIXELSARBPROC gl3wReadnPixelsARB; PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC gl3wGetnCompressedTexImageARB; PFNGLGETNUNIFORMFVARBPROC gl3wGetnUniformfvARB; PFNGLGETNUNIFORMIVARBPROC gl3wGetnUniformivARB; PFNGLGETNUNIFORMUIVARBPROC gl3wGetnUniformuivARB; PFNGLGETNUNIFORMDVARBPROC gl3wGetnUniformdvARB; PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC gl3wDrawArraysInstancedBaseInstance; PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC gl3wDrawElementsInstancedBaseInstance; PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC gl3wDrawElementsInstancedBaseVertexBaseInstance; PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC gl3wDrawTransformFeedbackInstanced; PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC gl3wDrawTransformFeedbackStreamInstanced; PFNGLGETINTERNALFORMATIVPROC gl3wGetInternalformativ; PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC gl3wGetActiveAtomicCounterBufferiv; PFNGLBINDIMAGETEXTUREPROC gl3wBindImageTexture; PFNGLMEMORYBARRIERPROC gl3wMemoryBarrier; PFNGLTEXSTORAGE1DPROC gl3wTexStorage1D; PFNGLTEXSTORAGE2DPROC gl3wTexStorage2D; PFNGLTEXSTORAGE3DPROC gl3wTexStorage3D; PFNGLTEXTURESTORAGE1DEXTPROC gl3wTextureStorage1DEXT; PFNGLTEXTURESTORAGE2DEXTPROC gl3wTextureStorage2DEXT; PFNGLTEXTURESTORAGE3DEXTPROC gl3wTextureStorage3DEXT; PFNGLDEBUGMESSAGECONTROLPROC gl3wDebugMessageControl; PFNGLDEBUGMESSAGEINSERTPROC gl3wDebugMessageInsert; PFNGLDEBUGMESSAGECALLBACKPROC gl3wDebugMessageCallback; PFNGLGETDEBUGMESSAGELOGPROC gl3wGetDebugMessageLog; PFNGLPUSHDEBUGGROUPPROC gl3wPushDebugGroup; PFNGLPOPDEBUGGROUPPROC gl3wPopDebugGroup; PFNGLOBJECTLABELPROC gl3wObjectLabel; PFNGLGETOBJECTLABELPROC gl3wGetObjectLabel; PFNGLOBJECTPTRLABELPROC gl3wObjectPtrLabel; PFNGLGETOBJECTPTRLABELPROC gl3wGetObjectPtrLabel; PFNGLCLEARBUFFERDATAPROC gl3wClearBufferData; PFNGLCLEARBUFFERSUBDATAPROC gl3wClearBufferSubData; PFNGLCLEARNAMEDBUFFERDATAEXTPROC gl3wClearNamedBufferDataEXT; PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC gl3wClearNamedBufferSubDataEXT; PFNGLDISPATCHCOMPUTEPROC gl3wDispatchCompute; PFNGLDISPATCHCOMPUTEINDIRECTPROC gl3wDispatchComputeIndirect; PFNGLCOPYIMAGESUBDATAPROC gl3wCopyImageSubData; PFNGLTEXTUREVIEWPROC gl3wTextureView; PFNGLBINDVERTEXBUFFERPROC gl3wBindVertexBuffer; PFNGLVERTEXATTRIBFORMATPROC gl3wVertexAttribFormat; PFNGLVERTEXATTRIBIFORMATPROC gl3wVertexAttribIFormat; PFNGLVERTEXATTRIBLFORMATPROC gl3wVertexAttribLFormat; PFNGLVERTEXATTRIBBINDINGPROC gl3wVertexAttribBinding; PFNGLVERTEXBINDINGDIVISORPROC gl3wVertexBindingDivisor; PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC gl3wVertexArrayBindVertexBufferEXT; PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC gl3wVertexArrayVertexAttribFormatEXT; PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC gl3wVertexArrayVertexAttribIFormatEXT; PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC gl3wVertexArrayVertexAttribLFormatEXT; PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC gl3wVertexArrayVertexAttribBindingEXT; PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC gl3wVertexArrayVertexBindingDivisorEXT; PFNGLFRAMEBUFFERPARAMETERIPROC gl3wFramebufferParameteri; PFNGLGETFRAMEBUFFERPARAMETERIVPROC gl3wGetFramebufferParameteriv; PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC gl3wNamedFramebufferParameteriEXT; PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC gl3wGetNamedFramebufferParameterivEXT; PFNGLGETINTERNALFORMATI64VPROC gl3wGetInternalformati64v; PFNGLINVALIDATETEXSUBIMAGEPROC gl3wInvalidateTexSubImage; PFNGLINVALIDATETEXIMAGEPROC gl3wInvalidateTexImage; PFNGLINVALIDATEBUFFERSUBDATAPROC gl3wInvalidateBufferSubData; PFNGLINVALIDATEBUFFERDATAPROC gl3wInvalidateBufferData; PFNGLINVALIDATEFRAMEBUFFERPROC gl3wInvalidateFramebuffer; PFNGLINVALIDATESUBFRAMEBUFFERPROC gl3wInvalidateSubFramebuffer; PFNGLMULTIDRAWARRAYSINDIRECTPROC gl3wMultiDrawArraysIndirect; PFNGLMULTIDRAWELEMENTSINDIRECTPROC gl3wMultiDrawElementsIndirect; PFNGLGETPROGRAMINTERFACEIVPROC gl3wGetProgramInterfaceiv; PFNGLGETPROGRAMRESOURCEINDEXPROC gl3wGetProgramResourceIndex; PFNGLGETPROGRAMRESOURCENAMEPROC gl3wGetProgramResourceName; PFNGLGETPROGRAMRESOURCEIVPROC gl3wGetProgramResourceiv; PFNGLGETPROGRAMRESOURCELOCATIONPROC gl3wGetProgramResourceLocation; PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC gl3wGetProgramResourceLocationIndex; PFNGLSHADERSTORAGEBLOCKBINDINGPROC gl3wShaderStorageBlockBinding; PFNGLTEXBUFFERRANGEPROC gl3wTexBufferRange; PFNGLTEXTUREBUFFERRANGEEXTPROC gl3wTextureBufferRangeEXT; PFNGLTEXSTORAGE2DMULTISAMPLEPROC gl3wTexStorage2DMultisample; PFNGLTEXSTORAGE3DMULTISAMPLEPROC gl3wTexStorage3DMultisample; PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC gl3wTextureStorage2DMultisampleEXT; PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC gl3wTextureStorage3DMultisampleEXT; static void load_procs(void) { gl3wCullFace = (PFNGLCULLFACEPROC)get_proc("glCullFace"); gl3wFrontFace = (PFNGLFRONTFACEPROC)get_proc("glFrontFace"); gl3wHint = (PFNGLHINTPROC)get_proc("glHint"); gl3wLineWidth = (PFNGLLINEWIDTHPROC)get_proc("glLineWidth"); gl3wPointSize = (PFNGLPOINTSIZEPROC)get_proc("glPointSize"); gl3wPolygonMode = (PFNGLPOLYGONMODEPROC)get_proc("glPolygonMode"); gl3wScissor = (PFNGLSCISSORPROC)get_proc("glScissor"); gl3wTexParameterf = (PFNGLTEXPARAMETERFPROC)get_proc("glTexParameterf"); gl3wTexParameterfv = (PFNGLTEXPARAMETERFVPROC)get_proc("glTexParameterfv"); gl3wTexParameteri = (PFNGLTEXPARAMETERIPROC)get_proc("glTexParameteri"); gl3wTexParameteriv = (PFNGLTEXPARAMETERIVPROC)get_proc("glTexParameteriv"); gl3wTexImage1D = (PFNGLTEXIMAGE1DPROC)get_proc("glTexImage1D"); gl3wTexImage2D = (PFNGLTEXIMAGE2DPROC)get_proc("glTexImage2D"); gl3wDrawBuffer = (PFNGLDRAWBUFFERPROC)get_proc("glDrawBuffer"); gl3wClear = (PFNGLCLEARPROC)get_proc("glClear"); gl3wClearColor = (PFNGLCLEARCOLORPROC)get_proc("glClearColor"); gl3wClearStencil = (PFNGLCLEARSTENCILPROC)get_proc("glClearStencil"); gl3wClearDepth = (PFNGLCLEARDEPTHPROC)get_proc("glClearDepth"); gl3wStencilMask = (PFNGLSTENCILMASKPROC)get_proc("glStencilMask"); gl3wColorMask = (PFNGLCOLORMASKPROC)get_proc("glColorMask"); gl3wDepthMask = (PFNGLDEPTHMASKPROC)get_proc("glDepthMask"); gl3wDisable = (PFNGLDISABLEPROC)get_proc("glDisable"); gl3wEnable = (PFNGLENABLEPROC)get_proc("glEnable"); gl3wFinish = (PFNGLFINISHPROC)get_proc("glFinish"); gl3wFlush = (PFNGLFLUSHPROC)get_proc("glFlush"); gl3wBlendFunc = (PFNGLBLENDFUNCPROC)get_proc("glBlendFunc"); gl3wLogicOp = (PFNGLLOGICOPPROC)get_proc("glLogicOp"); gl3wStencilFunc = (PFNGLSTENCILFUNCPROC)get_proc("glStencilFunc"); gl3wStencilOp = (PFNGLSTENCILOPPROC)get_proc("glStencilOp"); gl3wDepthFunc = (PFNGLDEPTHFUNCPROC)get_proc("glDepthFunc"); gl3wPixelStoref = (PFNGLPIXELSTOREFPROC)get_proc("glPixelStoref"); gl3wPixelStorei = (PFNGLPIXELSTOREIPROC)get_proc("glPixelStorei"); gl3wReadBuffer = (PFNGLREADBUFFERPROC)get_proc("glReadBuffer"); gl3wReadPixels = (PFNGLREADPIXELSPROC)get_proc("glReadPixels"); gl3wGetBooleanv = (PFNGLGETBOOLEANVPROC)get_proc("glGetBooleanv"); gl3wGetDoublev = (PFNGLGETDOUBLEVPROC)get_proc("glGetDoublev"); gl3wGetError = (PFNGLGETERRORPROC)get_proc("glGetError"); gl3wGetFloatv = (PFNGLGETFLOATVPROC)get_proc("glGetFloatv"); gl3wGetIntegerv = (PFNGLGETINTEGERVPROC)get_proc("glGetIntegerv"); gl3wGetString = (PFNGLGETSTRINGPROC)get_proc("glGetString"); gl3wGetTexImage = (PFNGLGETTEXIMAGEPROC)get_proc("glGetTexImage"); gl3wGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)get_proc("glGetTexParameterfv"); gl3wGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)get_proc("glGetTexParameteriv"); gl3wGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)get_proc("glGetTexLevelParameterfv"); gl3wGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)get_proc("glGetTexLevelParameteriv"); gl3wIsEnabled = (PFNGLISENABLEDPROC)get_proc("glIsEnabled"); gl3wDepthRange = (PFNGLDEPTHRANGEPROC)get_proc("glDepthRange"); gl3wViewport = (PFNGLVIEWPORTPROC)get_proc("glViewport"); gl3wDrawArrays = (PFNGLDRAWARRAYSPROC)get_proc("glDrawArrays"); gl3wDrawElements = (PFNGLDRAWELEMENTSPROC)get_proc("glDrawElements"); gl3wGetPointerv = (PFNGLGETPOINTERVPROC)get_proc("glGetPointerv"); gl3wPolygonOffset = (PFNGLPOLYGONOFFSETPROC)get_proc("glPolygonOffset"); gl3wCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)get_proc("glCopyTexImage1D"); gl3wCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)get_proc("glCopyTexImage2D"); gl3wCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)get_proc("glCopyTexSubImage1D"); gl3wCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)get_proc("glCopyTexSubImage2D"); gl3wTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)get_proc("glTexSubImage1D"); gl3wTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)get_proc("glTexSubImage2D"); gl3wBindTexture = (PFNGLBINDTEXTUREPROC)get_proc("glBindTexture"); gl3wDeleteTextures = (PFNGLDELETETEXTURESPROC)get_proc("glDeleteTextures"); gl3wGenTextures = (PFNGLGENTEXTURESPROC)get_proc("glGenTextures"); gl3wIsTexture = (PFNGLISTEXTUREPROC)get_proc("glIsTexture"); gl3wBlendColor = (PFNGLBLENDCOLORPROC)get_proc("glBlendColor"); gl3wBlendEquation = (PFNGLBLENDEQUATIONPROC)get_proc("glBlendEquation"); gl3wDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)get_proc("glDrawRangeElements"); gl3wTexImage3D = (PFNGLTEXIMAGE3DPROC)get_proc("glTexImage3D"); gl3wTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)get_proc("glTexSubImage3D"); gl3wCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)get_proc("glCopyTexSubImage3D"); gl3wActiveTexture = (PFNGLACTIVETEXTUREPROC)get_proc("glActiveTexture"); gl3wSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)get_proc("glSampleCoverage"); gl3wCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)get_proc("glCompressedTexImage3D"); gl3wCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)get_proc("glCompressedTexImage2D"); gl3wCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)get_proc("glCompressedTexImage1D"); gl3wCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)get_proc("glCompressedTexSubImage3D"); gl3wCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)get_proc("glCompressedTexSubImage2D"); gl3wCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)get_proc("glCompressedTexSubImage1D"); gl3wGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)get_proc("glGetCompressedTexImage"); gl3wBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)get_proc("glBlendFuncSeparate"); gl3wMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)get_proc("glMultiDrawArrays"); gl3wMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)get_proc("glMultiDrawElements"); gl3wPointParameterf = (PFNGLPOINTPARAMETERFPROC)get_proc("glPointParameterf"); gl3wPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)get_proc("glPointParameterfv"); gl3wPointParameteri = (PFNGLPOINTPARAMETERIPROC)get_proc("glPointParameteri"); gl3wPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)get_proc("glPointParameteriv"); gl3wGenQueries = (PFNGLGENQUERIESPROC)get_proc("glGenQueries"); gl3wDeleteQueries = (PFNGLDELETEQUERIESPROC)get_proc("glDeleteQueries"); gl3wIsQuery = (PFNGLISQUERYPROC)get_proc("glIsQuery"); gl3wBeginQuery = (PFNGLBEGINQUERYPROC)get_proc("glBeginQuery"); gl3wEndQuery = (PFNGLENDQUERYPROC)get_proc("glEndQuery"); gl3wGetQueryiv = (PFNGLGETQUERYIVPROC)get_proc("glGetQueryiv"); gl3wGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)get_proc("glGetQueryObjectiv"); gl3wGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)get_proc("glGetQueryObjectuiv"); gl3wBindBuffer = (PFNGLBINDBUFFERPROC)get_proc("glBindBuffer"); gl3wDeleteBuffers = (PFNGLDELETEBUFFERSPROC)get_proc("glDeleteBuffers"); gl3wGenBuffers = (PFNGLGENBUFFERSPROC)get_proc("glGenBuffers"); gl3wIsBuffer = (PFNGLISBUFFERPROC)get_proc("glIsBuffer"); gl3wBufferData = (PFNGLBUFFERDATAPROC)get_proc("glBufferData"); gl3wBufferSubData = (PFNGLBUFFERSUBDATAPROC)get_proc("glBufferSubData"); gl3wGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)get_proc("glGetBufferSubData"); gl3wMapBuffer = (PFNGLMAPBUFFERPROC)get_proc("glMapBuffer"); gl3wUnmapBuffer = (PFNGLUNMAPBUFFERPROC)get_proc("glUnmapBuffer"); gl3wGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)get_proc("glGetBufferParameteriv"); gl3wGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)get_proc("glGetBufferPointerv"); gl3wBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)get_proc("glBlendEquationSeparate"); gl3wDrawBuffers = (PFNGLDRAWBUFFERSPROC)get_proc("glDrawBuffers"); gl3wStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)get_proc("glStencilOpSeparate"); gl3wStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)get_proc("glStencilFuncSeparate"); gl3wStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)get_proc("glStencilMaskSeparate"); gl3wAttachShader = (PFNGLATTACHSHADERPROC)get_proc("glAttachShader"); gl3wBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)get_proc("glBindAttribLocation"); gl3wCompileShader = (PFNGLCOMPILESHADERPROC)get_proc("glCompileShader"); gl3wCreateProgram = (PFNGLCREATEPROGRAMPROC)get_proc("glCreateProgram"); gl3wCreateShader = (PFNGLCREATESHADERPROC)get_proc("glCreateShader"); gl3wDeleteProgram = (PFNGLDELETEPROGRAMPROC)get_proc("glDeleteProgram"); gl3wDeleteShader = (PFNGLDELETESHADERPROC)get_proc("glDeleteShader"); gl3wDetachShader = (PFNGLDETACHSHADERPROC)get_proc("glDetachShader"); gl3wDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)get_proc("glDisableVertexAttribArray"); gl3wEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)get_proc("glEnableVertexAttribArray"); gl3wGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)get_proc("glGetActiveAttrib"); gl3wGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)get_proc("glGetActiveUniform"); gl3wGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)get_proc("glGetAttachedShaders"); gl3wGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)get_proc("glGetAttribLocation"); gl3wGetProgramiv = (PFNGLGETPROGRAMIVPROC)get_proc("glGetProgramiv"); gl3wGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)get_proc("glGetProgramInfoLog"); gl3wGetShaderiv = (PFNGLGETSHADERIVPROC)get_proc("glGetShaderiv"); gl3wGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)get_proc("glGetShaderInfoLog"); gl3wGetShaderSource = (PFNGLGETSHADERSOURCEPROC)get_proc("glGetShaderSource"); gl3wGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)get_proc("glGetUniformLocation"); gl3wGetUniformfv = (PFNGLGETUNIFORMFVPROC)get_proc("glGetUniformfv"); gl3wGetUniformiv = (PFNGLGETUNIFORMIVPROC)get_proc("glGetUniformiv"); gl3wGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)get_proc("glGetVertexAttribdv"); gl3wGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)get_proc("glGetVertexAttribfv"); gl3wGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)get_proc("glGetVertexAttribiv"); gl3wGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)get_proc("glGetVertexAttribPointerv"); gl3wIsProgram = (PFNGLISPROGRAMPROC)get_proc("glIsProgram"); gl3wIsShader = (PFNGLISSHADERPROC)get_proc("glIsShader"); gl3wLinkProgram = (PFNGLLINKPROGRAMPROC)get_proc("glLinkProgram"); gl3wShaderSource = (PFNGLSHADERSOURCEPROC)get_proc("glShaderSource"); gl3wUseProgram = (PFNGLUSEPROGRAMPROC)get_proc("glUseProgram"); gl3wUniform1f = (PFNGLUNIFORM1FPROC)get_proc("glUniform1f"); gl3wUniform2f = (PFNGLUNIFORM2FPROC)get_proc("glUniform2f"); gl3wUniform3f = (PFNGLUNIFORM3FPROC)get_proc("glUniform3f"); gl3wUniform4f = (PFNGLUNIFORM4FPROC)get_proc("glUniform4f"); gl3wUniform1i = (PFNGLUNIFORM1IPROC)get_proc("glUniform1i"); gl3wUniform2i = (PFNGLUNIFORM2IPROC)get_proc("glUniform2i"); gl3wUniform3i = (PFNGLUNIFORM3IPROC)get_proc("glUniform3i"); gl3wUniform4i = (PFNGLUNIFORM4IPROC)get_proc("glUniform4i"); gl3wUniform1fv = (PFNGLUNIFORM1FVPROC)get_proc("glUniform1fv"); gl3wUniform2fv = (PFNGLUNIFORM2FVPROC)get_proc("glUniform2fv"); gl3wUniform3fv = (PFNGLUNIFORM3FVPROC)get_proc("glUniform3fv"); gl3wUniform4fv = (PFNGLUNIFORM4FVPROC)get_proc("glUniform4fv"); gl3wUniform1iv = (PFNGLUNIFORM1IVPROC)get_proc("glUniform1iv"); gl3wUniform2iv = (PFNGLUNIFORM2IVPROC)get_proc("glUniform2iv"); gl3wUniform3iv = (PFNGLUNIFORM3IVPROC)get_proc("glUniform3iv"); gl3wUniform4iv = (PFNGLUNIFORM4IVPROC)get_proc("glUniform4iv"); gl3wUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)get_proc("glUniformMatrix2fv"); gl3wUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)get_proc("glUniformMatrix3fv"); gl3wUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)get_proc("glUniformMatrix4fv"); gl3wValidateProgram = (PFNGLVALIDATEPROGRAMPROC)get_proc("glValidateProgram"); gl3wVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)get_proc("glVertexAttrib1d"); gl3wVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)get_proc("glVertexAttrib1dv"); gl3wVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)get_proc("glVertexAttrib1f"); gl3wVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)get_proc("glVertexAttrib1fv"); gl3wVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)get_proc("glVertexAttrib1s"); gl3wVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)get_proc("glVertexAttrib1sv"); gl3wVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)get_proc("glVertexAttrib2d"); gl3wVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)get_proc("glVertexAttrib2dv"); gl3wVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)get_proc("glVertexAttrib2f"); gl3wVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)get_proc("glVertexAttrib2fv"); gl3wVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)get_proc("glVertexAttrib2s"); gl3wVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)get_proc("glVertexAttrib2sv"); gl3wVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)get_proc("glVertexAttrib3d"); gl3wVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)get_proc("glVertexAttrib3dv"); gl3wVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)get_proc("glVertexAttrib3f"); gl3wVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)get_proc("glVertexAttrib3fv"); gl3wVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)get_proc("glVertexAttrib3s"); gl3wVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)get_proc("glVertexAttrib3sv"); gl3wVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)get_proc("glVertexAttrib4Nbv"); gl3wVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)get_proc("glVertexAttrib4Niv"); gl3wVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)get_proc("glVertexAttrib4Nsv"); gl3wVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)get_proc("glVertexAttrib4Nub"); gl3wVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)get_proc("glVertexAttrib4Nubv"); gl3wVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)get_proc("glVertexAttrib4Nuiv"); gl3wVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)get_proc("glVertexAttrib4Nusv"); gl3wVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)get_proc("glVertexAttrib4bv"); gl3wVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)get_proc("glVertexAttrib4d"); gl3wVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)get_proc("glVertexAttrib4dv"); gl3wVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)get_proc("glVertexAttrib4f"); gl3wVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)get_proc("glVertexAttrib4fv"); gl3wVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)get_proc("glVertexAttrib4iv"); gl3wVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)get_proc("glVertexAttrib4s"); gl3wVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)get_proc("glVertexAttrib4sv"); gl3wVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)get_proc("glVertexAttrib4ubv"); gl3wVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)get_proc("glVertexAttrib4uiv"); gl3wVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)get_proc("glVertexAttrib4usv"); gl3wVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)get_proc("glVertexAttribPointer"); gl3wUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)get_proc("glUniformMatrix2x3fv"); gl3wUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)get_proc("glUniformMatrix3x2fv"); gl3wUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)get_proc("glUniformMatrix2x4fv"); gl3wUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)get_proc("glUniformMatrix4x2fv"); gl3wUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)get_proc("glUniformMatrix3x4fv"); gl3wUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)get_proc("glUniformMatrix4x3fv"); gl3wColorMaski = (PFNGLCOLORMASKIPROC)get_proc("glColorMaski"); gl3wGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)get_proc("glGetBooleani_v"); gl3wGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)get_proc("glGetIntegeri_v"); gl3wEnablei = (PFNGLENABLEIPROC)get_proc("glEnablei"); gl3wDisablei = (PFNGLDISABLEIPROC)get_proc("glDisablei"); gl3wIsEnabledi = (PFNGLISENABLEDIPROC)get_proc("glIsEnabledi"); gl3wBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)get_proc("glBeginTransformFeedback"); gl3wEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)get_proc("glEndTransformFeedback"); gl3wBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)get_proc("glBindBufferRange"); gl3wBindBufferBase = (PFNGLBINDBUFFERBASEPROC)get_proc("glBindBufferBase"); gl3wTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)get_proc("glTransformFeedbackVaryings"); gl3wGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)get_proc("glGetTransformFeedbackVarying"); gl3wClampColor = (PFNGLCLAMPCOLORPROC)get_proc("glClampColor"); gl3wBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)get_proc("glBeginConditionalRender"); gl3wEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)get_proc("glEndConditionalRender"); gl3wVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)get_proc("glVertexAttribIPointer"); gl3wGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)get_proc("glGetVertexAttribIiv"); gl3wGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)get_proc("glGetVertexAttribIuiv"); gl3wVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)get_proc("glVertexAttribI1i"); gl3wVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)get_proc("glVertexAttribI2i"); gl3wVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)get_proc("glVertexAttribI3i"); gl3wVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)get_proc("glVertexAttribI4i"); gl3wVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)get_proc("glVertexAttribI1ui"); gl3wVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)get_proc("glVertexAttribI2ui"); gl3wVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)get_proc("glVertexAttribI3ui"); gl3wVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)get_proc("glVertexAttribI4ui"); gl3wVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)get_proc("glVertexAttribI1iv"); gl3wVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)get_proc("glVertexAttribI2iv"); gl3wVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)get_proc("glVertexAttribI3iv"); gl3wVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)get_proc("glVertexAttribI4iv"); gl3wVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)get_proc("glVertexAttribI1uiv"); gl3wVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)get_proc("glVertexAttribI2uiv"); gl3wVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)get_proc("glVertexAttribI3uiv"); gl3wVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)get_proc("glVertexAttribI4uiv"); gl3wVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)get_proc("glVertexAttribI4bv"); gl3wVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)get_proc("glVertexAttribI4sv"); gl3wVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)get_proc("glVertexAttribI4ubv"); gl3wVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)get_proc("glVertexAttribI4usv"); gl3wGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)get_proc("glGetUniformuiv"); gl3wBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)get_proc("glBindFragDataLocation"); gl3wGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)get_proc("glGetFragDataLocation"); gl3wUniform1ui = (PFNGLUNIFORM1UIPROC)get_proc("glUniform1ui"); gl3wUniform2ui = (PFNGLUNIFORM2UIPROC)get_proc("glUniform2ui"); gl3wUniform3ui = (PFNGLUNIFORM3UIPROC)get_proc("glUniform3ui"); gl3wUniform4ui = (PFNGLUNIFORM4UIPROC)get_proc("glUniform4ui"); gl3wUniform1uiv = (PFNGLUNIFORM1UIVPROC)get_proc("glUniform1uiv"); gl3wUniform2uiv = (PFNGLUNIFORM2UIVPROC)get_proc("glUniform2uiv"); gl3wUniform3uiv = (PFNGLUNIFORM3UIVPROC)get_proc("glUniform3uiv"); gl3wUniform4uiv = (PFNGLUNIFORM4UIVPROC)get_proc("glUniform4uiv"); gl3wTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)get_proc("glTexParameterIiv"); gl3wTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)get_proc("glTexParameterIuiv"); gl3wGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)get_proc("glGetTexParameterIiv"); gl3wGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)get_proc("glGetTexParameterIuiv"); gl3wClearBufferiv = (PFNGLCLEARBUFFERIVPROC)get_proc("glClearBufferiv"); gl3wClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)get_proc("glClearBufferuiv"); gl3wClearBufferfv = (PFNGLCLEARBUFFERFVPROC)get_proc("glClearBufferfv"); gl3wClearBufferfi = (PFNGLCLEARBUFFERFIPROC)get_proc("glClearBufferfi"); gl3wGetStringi = (PFNGLGETSTRINGIPROC)get_proc("glGetStringi"); gl3wDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)get_proc("glDrawArraysInstanced"); gl3wDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)get_proc("glDrawElementsInstanced"); gl3wTexBuffer = (PFNGLTEXBUFFERPROC)get_proc("glTexBuffer"); gl3wPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)get_proc("glPrimitiveRestartIndex"); gl3wGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)get_proc("glGetInteger64i_v"); gl3wGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)get_proc("glGetBufferParameteri64v"); gl3wFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)get_proc("glFramebufferTexture"); gl3wVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)get_proc("glVertexAttribDivisor"); gl3wMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)get_proc("glMinSampleShading"); gl3wBlendEquationi = (PFNGLBLENDEQUATIONIPROC)get_proc("glBlendEquationi"); gl3wBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)get_proc("glBlendEquationSeparatei"); gl3wBlendFunci = (PFNGLBLENDFUNCIPROC)get_proc("glBlendFunci"); gl3wBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)get_proc("glBlendFuncSeparatei"); gl3wIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)get_proc("glIsRenderbuffer"); gl3wBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)get_proc("glBindRenderbuffer"); gl3wDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)get_proc("glDeleteRenderbuffers"); gl3wGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)get_proc("glGenRenderbuffers"); gl3wRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)get_proc("glRenderbufferStorage"); gl3wGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)get_proc("glGetRenderbufferParameteriv"); gl3wIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)get_proc("glIsFramebuffer"); gl3wBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)get_proc("glBindFramebuffer"); gl3wDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)get_proc("glDeleteFramebuffers"); gl3wGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)get_proc("glGenFramebuffers"); gl3wCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)get_proc("glCheckFramebufferStatus"); gl3wFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)get_proc("glFramebufferTexture1D"); gl3wFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)get_proc("glFramebufferTexture2D"); gl3wFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)get_proc("glFramebufferTexture3D"); gl3wFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)get_proc("glFramebufferRenderbuffer"); gl3wGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)get_proc("glGetFramebufferAttachmentParameteriv"); gl3wGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)get_proc("glGenerateMipmap"); gl3wBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)get_proc("glBlitFramebuffer"); gl3wRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)get_proc("glRenderbufferStorageMultisample"); gl3wFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)get_proc("glFramebufferTextureLayer"); gl3wMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)get_proc("glMapBufferRange"); gl3wFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)get_proc("glFlushMappedBufferRange"); gl3wBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)get_proc("glBindVertexArray"); gl3wDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)get_proc("glDeleteVertexArrays"); gl3wGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)get_proc("glGenVertexArrays"); gl3wIsVertexArray = (PFNGLISVERTEXARRAYPROC)get_proc("glIsVertexArray"); gl3wGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)get_proc("glGetUniformIndices"); gl3wGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)get_proc("glGetActiveUniformsiv"); gl3wGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)get_proc("glGetActiveUniformName"); gl3wGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)get_proc("glGetUniformBlockIndex"); gl3wGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)get_proc("glGetActiveUniformBlockiv"); gl3wGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)get_proc("glGetActiveUniformBlockName"); gl3wUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)get_proc("glUniformBlockBinding"); gl3wCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)get_proc("glCopyBufferSubData"); gl3wDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)get_proc("glDrawElementsBaseVertex"); gl3wDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)get_proc("glDrawRangeElementsBaseVertex"); gl3wDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)get_proc("glDrawElementsInstancedBaseVertex"); gl3wMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)get_proc("glMultiDrawElementsBaseVertex"); gl3wProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)get_proc("glProvokingVertex"); gl3wFenceSync = (PFNGLFENCESYNCPROC)get_proc("glFenceSync"); gl3wIsSync = (PFNGLISSYNCPROC)get_proc("glIsSync"); gl3wDeleteSync = (PFNGLDELETESYNCPROC)get_proc("glDeleteSync"); gl3wClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)get_proc("glClientWaitSync"); gl3wWaitSync = (PFNGLWAITSYNCPROC)get_proc("glWaitSync"); gl3wGetInteger64v = (PFNGLGETINTEGER64VPROC)get_proc("glGetInteger64v"); gl3wGetSynciv = (PFNGLGETSYNCIVPROC)get_proc("glGetSynciv"); gl3wTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)get_proc("glTexImage2DMultisample"); gl3wTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)get_proc("glTexImage3DMultisample"); gl3wGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)get_proc("glGetMultisamplefv"); gl3wSampleMaski = (PFNGLSAMPLEMASKIPROC)get_proc("glSampleMaski"); gl3wBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC)get_proc("glBlendEquationiARB"); gl3wBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC)get_proc("glBlendEquationSeparateiARB"); gl3wBlendFunciARB = (PFNGLBLENDFUNCIARBPROC)get_proc("glBlendFunciARB"); gl3wBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC)get_proc("glBlendFuncSeparateiARB"); gl3wMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC)get_proc("glMinSampleShadingARB"); gl3wNamedStringARB = (PFNGLNAMEDSTRINGARBPROC)get_proc("glNamedStringARB"); gl3wDeleteNamedStringARB = (PFNGLDELETENAMEDSTRINGARBPROC)get_proc("glDeleteNamedStringARB"); gl3wCompileShaderIncludeARB = (PFNGLCOMPILESHADERINCLUDEARBPROC)get_proc("glCompileShaderIncludeARB"); gl3wIsNamedStringARB = (PFNGLISNAMEDSTRINGARBPROC)get_proc("glIsNamedStringARB"); gl3wGetNamedStringARB = (PFNGLGETNAMEDSTRINGARBPROC)get_proc("glGetNamedStringARB"); gl3wGetNamedStringivARB = (PFNGLGETNAMEDSTRINGIVARBPROC)get_proc("glGetNamedStringivARB"); gl3wBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)get_proc("glBindFragDataLocationIndexed"); gl3wGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)get_proc("glGetFragDataIndex"); gl3wGenSamplers = (PFNGLGENSAMPLERSPROC)get_proc("glGenSamplers"); gl3wDeleteSamplers = (PFNGLDELETESAMPLERSPROC)get_proc("glDeleteSamplers"); gl3wIsSampler = (PFNGLISSAMPLERPROC)get_proc("glIsSampler"); gl3wBindSampler = (PFNGLBINDSAMPLERPROC)get_proc("glBindSampler"); gl3wSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)get_proc("glSamplerParameteri"); gl3wSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)get_proc("glSamplerParameteriv"); gl3wSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)get_proc("glSamplerParameterf"); gl3wSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)get_proc("glSamplerParameterfv"); gl3wSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)get_proc("glSamplerParameterIiv"); gl3wSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)get_proc("glSamplerParameterIuiv"); gl3wGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)get_proc("glGetSamplerParameteriv"); gl3wGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)get_proc("glGetSamplerParameterIiv"); gl3wGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)get_proc("glGetSamplerParameterfv"); gl3wGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)get_proc("glGetSamplerParameterIuiv"); gl3wQueryCounter = (PFNGLQUERYCOUNTERPROC)get_proc("glQueryCounter"); gl3wGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)get_proc("glGetQueryObjecti64v"); gl3wGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)get_proc("glGetQueryObjectui64v"); gl3wVertexP2ui = (PFNGLVERTEXP2UIPROC)get_proc("glVertexP2ui"); gl3wVertexP2uiv = (PFNGLVERTEXP2UIVPROC)get_proc("glVertexP2uiv"); gl3wVertexP3ui = (PFNGLVERTEXP3UIPROC)get_proc("glVertexP3ui"); gl3wVertexP3uiv = (PFNGLVERTEXP3UIVPROC)get_proc("glVertexP3uiv"); gl3wVertexP4ui = (PFNGLVERTEXP4UIPROC)get_proc("glVertexP4ui"); gl3wVertexP4uiv = (PFNGLVERTEXP4UIVPROC)get_proc("glVertexP4uiv"); gl3wTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)get_proc("glTexCoordP1ui"); gl3wTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)get_proc("glTexCoordP1uiv"); gl3wTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)get_proc("glTexCoordP2ui"); gl3wTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)get_proc("glTexCoordP2uiv"); gl3wTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)get_proc("glTexCoordP3ui"); gl3wTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)get_proc("glTexCoordP3uiv"); gl3wTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)get_proc("glTexCoordP4ui"); gl3wTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)get_proc("glTexCoordP4uiv"); gl3wMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)get_proc("glMultiTexCoordP1ui"); gl3wMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)get_proc("glMultiTexCoordP1uiv"); gl3wMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)get_proc("glMultiTexCoordP2ui"); gl3wMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)get_proc("glMultiTexCoordP2uiv"); gl3wMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)get_proc("glMultiTexCoordP3ui"); gl3wMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)get_proc("glMultiTexCoordP3uiv"); gl3wMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)get_proc("glMultiTexCoordP4ui"); gl3wMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)get_proc("glMultiTexCoordP4uiv"); gl3wNormalP3ui = (PFNGLNORMALP3UIPROC)get_proc("glNormalP3ui"); gl3wNormalP3uiv = (PFNGLNORMALP3UIVPROC)get_proc("glNormalP3uiv"); gl3wColorP3ui = (PFNGLCOLORP3UIPROC)get_proc("glColorP3ui"); gl3wColorP3uiv = (PFNGLCOLORP3UIVPROC)get_proc("glColorP3uiv"); gl3wColorP4ui = (PFNGLCOLORP4UIPROC)get_proc("glColorP4ui"); gl3wColorP4uiv = (PFNGLCOLORP4UIVPROC)get_proc("glColorP4uiv"); gl3wSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)get_proc("glSecondaryColorP3ui"); gl3wSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)get_proc("glSecondaryColorP3uiv"); gl3wVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)get_proc("glVertexAttribP1ui"); gl3wVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)get_proc("glVertexAttribP1uiv"); gl3wVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)get_proc("glVertexAttribP2ui"); gl3wVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)get_proc("glVertexAttribP2uiv"); gl3wVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)get_proc("glVertexAttribP3ui"); gl3wVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)get_proc("glVertexAttribP3uiv"); gl3wVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)get_proc("glVertexAttribP4ui"); gl3wVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)get_proc("glVertexAttribP4uiv"); gl3wDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)get_proc("glDrawArraysIndirect"); gl3wDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)get_proc("glDrawElementsIndirect"); gl3wUniform1d = (PFNGLUNIFORM1DPROC)get_proc("glUniform1d"); gl3wUniform2d = (PFNGLUNIFORM2DPROC)get_proc("glUniform2d"); gl3wUniform3d = (PFNGLUNIFORM3DPROC)get_proc("glUniform3d"); gl3wUniform4d = (PFNGLUNIFORM4DPROC)get_proc("glUniform4d"); gl3wUniform1dv = (PFNGLUNIFORM1DVPROC)get_proc("glUniform1dv"); gl3wUniform2dv = (PFNGLUNIFORM2DVPROC)get_proc("glUniform2dv"); gl3wUniform3dv = (PFNGLUNIFORM3DVPROC)get_proc("glUniform3dv"); gl3wUniform4dv = (PFNGLUNIFORM4DVPROC)get_proc("glUniform4dv"); gl3wUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC)get_proc("glUniformMatrix2dv"); gl3wUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC)get_proc("glUniformMatrix3dv"); gl3wUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)get_proc("glUniformMatrix4dv"); gl3wUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC)get_proc("glUniformMatrix2x3dv"); gl3wUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC)get_proc("glUniformMatrix2x4dv"); gl3wUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC)get_proc("glUniformMatrix3x2dv"); gl3wUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC)get_proc("glUniformMatrix3x4dv"); gl3wUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC)get_proc("glUniformMatrix4x2dv"); gl3wUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC)get_proc("glUniformMatrix4x3dv"); gl3wGetUniformdv = (PFNGLGETUNIFORMDVPROC)get_proc("glGetUniformdv"); gl3wGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)get_proc("glGetSubroutineUniformLocation"); gl3wGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC)get_proc("glGetSubroutineIndex"); gl3wGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)get_proc("glGetActiveSubroutineUniformiv"); gl3wGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)get_proc("glGetActiveSubroutineUniformName"); gl3wGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC)get_proc("glGetActiveSubroutineName"); gl3wUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC)get_proc("glUniformSubroutinesuiv"); gl3wGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC)get_proc("glGetUniformSubroutineuiv"); gl3wGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC)get_proc("glGetProgramStageiv"); gl3wPatchParameteri = (PFNGLPATCHPARAMETERIPROC)get_proc("glPatchParameteri"); gl3wPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC)get_proc("glPatchParameterfv"); gl3wBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)get_proc("glBindTransformFeedback"); gl3wDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)get_proc("glDeleteTransformFeedbacks"); gl3wGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)get_proc("glGenTransformFeedbacks"); gl3wIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)get_proc("glIsTransformFeedback"); gl3wPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)get_proc("glPauseTransformFeedback"); gl3wResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)get_proc("glResumeTransformFeedback"); gl3wDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)get_proc("glDrawTransformFeedback"); gl3wDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)get_proc("glDrawTransformFeedbackStream"); gl3wBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC)get_proc("glBeginQueryIndexed"); gl3wEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC)get_proc("glEndQueryIndexed"); gl3wGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC)get_proc("glGetQueryIndexediv"); gl3wReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)get_proc("glReleaseShaderCompiler"); gl3wShaderBinary = (PFNGLSHADERBINARYPROC)get_proc("glShaderBinary"); gl3wGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)get_proc("glGetShaderPrecisionFormat"); gl3wDepthRangef = (PFNGLDEPTHRANGEFPROC)get_proc("glDepthRangef"); gl3wClearDepthf = (PFNGLCLEARDEPTHFPROC)get_proc("glClearDepthf"); gl3wGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)get_proc("glGetProgramBinary"); gl3wProgramBinary = (PFNGLPROGRAMBINARYPROC)get_proc("glProgramBinary"); gl3wProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)get_proc("glProgramParameteri"); gl3wUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)get_proc("glUseProgramStages"); gl3wActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)get_proc("glActiveShaderProgram"); gl3wCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)get_proc("glCreateShaderProgramv"); gl3wBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)get_proc("glBindProgramPipeline"); gl3wDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)get_proc("glDeleteProgramPipelines"); gl3wGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)get_proc("glGenProgramPipelines"); gl3wIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)get_proc("glIsProgramPipeline"); gl3wGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)get_proc("glGetProgramPipelineiv"); gl3wProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)get_proc("glProgramUniform1i"); gl3wProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)get_proc("glProgramUniform1iv"); gl3wProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)get_proc("glProgramUniform1f"); gl3wProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)get_proc("glProgramUniform1fv"); gl3wProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC)get_proc("glProgramUniform1d"); gl3wProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC)get_proc("glProgramUniform1dv"); gl3wProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)get_proc("glProgramUniform1ui"); gl3wProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)get_proc("glProgramUniform1uiv"); gl3wProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)get_proc("glProgramUniform2i"); gl3wProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)get_proc("glProgramUniform2iv"); gl3wProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)get_proc("glProgramUniform2f"); gl3wProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)get_proc("glProgramUniform2fv"); gl3wProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC)get_proc("glProgramUniform2d"); gl3wProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC)get_proc("glProgramUniform2dv"); gl3wProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)get_proc("glProgramUniform2ui"); gl3wProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)get_proc("glProgramUniform2uiv"); gl3wProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)get_proc("glProgramUniform3i"); gl3wProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)get_proc("glProgramUniform3iv"); gl3wProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)get_proc("glProgramUniform3f"); gl3wProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)get_proc("glProgramUniform3fv"); gl3wProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC)get_proc("glProgramUniform3d"); gl3wProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC)get_proc("glProgramUniform3dv"); gl3wProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)get_proc("glProgramUniform3ui"); gl3wProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)get_proc("glProgramUniform3uiv"); gl3wProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)get_proc("glProgramUniform4i"); gl3wProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)get_proc("glProgramUniform4iv"); gl3wProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)get_proc("glProgramUniform4f"); gl3wProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)get_proc("glProgramUniform4fv"); gl3wProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC)get_proc("glProgramUniform4d"); gl3wProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC)get_proc("glProgramUniform4dv"); gl3wProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)get_proc("glProgramUniform4ui"); gl3wProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)get_proc("glProgramUniform4uiv"); gl3wProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)get_proc("glProgramUniformMatrix2fv"); gl3wProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)get_proc("glProgramUniformMatrix3fv"); gl3wProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)get_proc("glProgramUniformMatrix4fv"); gl3wProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC)get_proc("glProgramUniformMatrix2dv"); gl3wProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC)get_proc("glProgramUniformMatrix3dv"); gl3wProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC)get_proc("glProgramUniformMatrix4dv"); gl3wProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)get_proc("glProgramUniformMatrix2x3fv"); gl3wProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)get_proc("glProgramUniformMatrix3x2fv"); gl3wProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)get_proc("glProgramUniformMatrix2x4fv"); gl3wProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)get_proc("glProgramUniformMatrix4x2fv"); gl3wProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)get_proc("glProgramUniformMatrix3x4fv"); gl3wProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)get_proc("glProgramUniformMatrix4x3fv"); gl3wProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)get_proc("glProgramUniformMatrix2x3dv"); gl3wProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)get_proc("glProgramUniformMatrix3x2dv"); gl3wProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)get_proc("glProgramUniformMatrix2x4dv"); gl3wProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)get_proc("glProgramUniformMatrix4x2dv"); gl3wProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)get_proc("glProgramUniformMatrix3x4dv"); gl3wProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)get_proc("glProgramUniformMatrix4x3dv"); gl3wValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)get_proc("glValidateProgramPipeline"); gl3wGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)get_proc("glGetProgramPipelineInfoLog"); gl3wVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)get_proc("glVertexAttribL1d"); gl3wVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)get_proc("glVertexAttribL2d"); gl3wVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)get_proc("glVertexAttribL3d"); gl3wVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)get_proc("glVertexAttribL4d"); gl3wVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)get_proc("glVertexAttribL1dv"); gl3wVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)get_proc("glVertexAttribL2dv"); gl3wVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)get_proc("glVertexAttribL3dv"); gl3wVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)get_proc("glVertexAttribL4dv"); gl3wVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)get_proc("glVertexAttribLPointer"); gl3wGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)get_proc("glGetVertexAttribLdv"); gl3wViewportArrayv = (PFNGLVIEWPORTARRAYVPROC)get_proc("glViewportArrayv"); gl3wViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC)get_proc("glViewportIndexedf"); gl3wViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC)get_proc("glViewportIndexedfv"); gl3wScissorArrayv = (PFNGLSCISSORARRAYVPROC)get_proc("glScissorArrayv"); gl3wScissorIndexed = (PFNGLSCISSORINDEXEDPROC)get_proc("glScissorIndexed"); gl3wScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC)get_proc("glScissorIndexedv"); gl3wDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC)get_proc("glDepthRangeArrayv"); gl3wDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC)get_proc("glDepthRangeIndexed"); gl3wGetFloati_v = (PFNGLGETFLOATI_VPROC)get_proc("glGetFloati_v"); gl3wGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)get_proc("glGetDoublei_v"); gl3wCreateSyncFromCLeventARB = (PFNGLCREATESYNCFROMCLEVENTARBPROC)get_proc("glCreateSyncFromCLeventARB"); gl3wDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC)get_proc("glDebugMessageControlARB"); gl3wDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC)get_proc("glDebugMessageInsertARB"); gl3wDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC)get_proc("glDebugMessageCallbackARB"); gl3wGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC)get_proc("glGetDebugMessageLogARB"); gl3wGetGraphicsResetStatusARB = (PFNGLGETGRAPHICSRESETSTATUSARBPROC)get_proc("glGetGraphicsResetStatusARB"); gl3wGetnTexImageARB = (PFNGLGETNTEXIMAGEARBPROC)get_proc("glGetnTexImageARB"); gl3wReadnPixelsARB = (PFNGLREADNPIXELSARBPROC)get_proc("glReadnPixelsARB"); gl3wGetnCompressedTexImageARB = (PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)get_proc("glGetnCompressedTexImageARB"); gl3wGetnUniformfvARB = (PFNGLGETNUNIFORMFVARBPROC)get_proc("glGetnUniformfvARB"); gl3wGetnUniformivARB = (PFNGLGETNUNIFORMIVARBPROC)get_proc("glGetnUniformivARB"); gl3wGetnUniformuivARB = (PFNGLGETNUNIFORMUIVARBPROC)get_proc("glGetnUniformuivARB"); gl3wGetnUniformdvARB = (PFNGLGETNUNIFORMDVARBPROC)get_proc("glGetnUniformdvARB"); gl3wDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)get_proc("glDrawArraysInstancedBaseInstance"); gl3wDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)get_proc("glDrawElementsInstancedBaseInstance"); gl3wDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)get_proc("glDrawElementsInstancedBaseVertexBaseInstance"); gl3wDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)get_proc("glDrawTransformFeedbackInstanced"); gl3wDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)get_proc("glDrawTransformFeedbackStreamInstanced"); gl3wGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)get_proc("glGetInternalformativ"); gl3wGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)get_proc("glGetActiveAtomicCounterBufferiv"); gl3wBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)get_proc("glBindImageTexture"); gl3wMemoryBarrier = (PFNGLMEMORYBARRIERPROC)get_proc("glMemoryBarrier"); gl3wTexStorage1D = (PFNGLTEXSTORAGE1DPROC)get_proc("glTexStorage1D"); gl3wTexStorage2D = (PFNGLTEXSTORAGE2DPROC)get_proc("glTexStorage2D"); gl3wTexStorage3D = (PFNGLTEXSTORAGE3DPROC)get_proc("glTexStorage3D"); gl3wTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC)get_proc("glTextureStorage1DEXT"); gl3wTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC)get_proc("glTextureStorage2DEXT"); gl3wTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC)get_proc("glTextureStorage3DEXT"); gl3wDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)get_proc("glDebugMessageControl"); gl3wDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)get_proc("glDebugMessageInsert"); gl3wDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)get_proc("glDebugMessageCallback"); gl3wGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)get_proc("glGetDebugMessageLog"); gl3wPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)get_proc("glPushDebugGroup"); gl3wPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)get_proc("glPopDebugGroup"); gl3wObjectLabel = (PFNGLOBJECTLABELPROC)get_proc("glObjectLabel"); gl3wGetObjectLabel = (PFNGLGETOBJECTLABELPROC)get_proc("glGetObjectLabel"); gl3wObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)get_proc("glObjectPtrLabel"); gl3wGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)get_proc("glGetObjectPtrLabel"); gl3wClearBufferData = (PFNGLCLEARBUFFERDATAPROC)get_proc("glClearBufferData"); gl3wClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC)get_proc("glClearBufferSubData"); gl3wClearNamedBufferDataEXT = (PFNGLCLEARNAMEDBUFFERDATAEXTPROC)get_proc("glClearNamedBufferDataEXT"); gl3wClearNamedBufferSubDataEXT = (PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)get_proc("glClearNamedBufferSubDataEXT"); gl3wDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)get_proc("glDispatchCompute"); gl3wDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)get_proc("glDispatchComputeIndirect"); gl3wCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)get_proc("glCopyImageSubData"); gl3wTextureView = (PFNGLTEXTUREVIEWPROC)get_proc("glTextureView"); gl3wBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)get_proc("glBindVertexBuffer"); gl3wVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)get_proc("glVertexAttribFormat"); gl3wVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)get_proc("glVertexAttribIFormat"); gl3wVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC)get_proc("glVertexAttribLFormat"); gl3wVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)get_proc("glVertexAttribBinding"); gl3wVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)get_proc("glVertexBindingDivisor"); gl3wVertexArrayBindVertexBufferEXT = (PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC)get_proc("glVertexArrayBindVertexBufferEXT"); gl3wVertexArrayVertexAttribFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC)get_proc("glVertexArrayVertexAttribFormatEXT"); gl3wVertexArrayVertexAttribIFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC)get_proc("glVertexArrayVertexAttribIFormatEXT"); gl3wVertexArrayVertexAttribLFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC)get_proc("glVertexArrayVertexAttribLFormatEXT"); gl3wVertexArrayVertexAttribBindingEXT = (PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC)get_proc("glVertexArrayVertexAttribBindingEXT"); gl3wVertexArrayVertexBindingDivisorEXT = (PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC)get_proc("glVertexArrayVertexBindingDivisorEXT"); gl3wFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)get_proc("glFramebufferParameteri"); gl3wGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)get_proc("glGetFramebufferParameteriv"); gl3wNamedFramebufferParameteriEXT = (PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)get_proc("glNamedFramebufferParameteriEXT"); gl3wGetNamedFramebufferParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)get_proc("glGetNamedFramebufferParameterivEXT"); gl3wGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC)get_proc("glGetInternalformati64v"); gl3wInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC)get_proc("glInvalidateTexSubImage"); gl3wInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC)get_proc("glInvalidateTexImage"); gl3wInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC)get_proc("glInvalidateBufferSubData"); gl3wInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC)get_proc("glInvalidateBufferData"); gl3wInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)get_proc("glInvalidateFramebuffer"); gl3wInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)get_proc("glInvalidateSubFramebuffer"); gl3wMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)get_proc("glMultiDrawArraysIndirect"); gl3wMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)get_proc("glMultiDrawElementsIndirect"); gl3wGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)get_proc("glGetProgramInterfaceiv"); gl3wGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)get_proc("glGetProgramResourceIndex"); gl3wGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)get_proc("glGetProgramResourceName"); gl3wGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)get_proc("glGetProgramResourceiv"); gl3wGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)get_proc("glGetProgramResourceLocation"); gl3wGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)get_proc("glGetProgramResourceLocationIndex"); gl3wShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)get_proc("glShaderStorageBlockBinding"); gl3wTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)get_proc("glTexBufferRange"); gl3wTextureBufferRangeEXT = (PFNGLTEXTUREBUFFERRANGEEXTPROC)get_proc("glTextureBufferRangeEXT"); gl3wTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)get_proc("glTexStorage2DMultisample"); gl3wTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)get_proc("glTexStorage3DMultisample"); gl3wTextureStorage2DMultisampleEXT = (PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)get_proc("glTextureStorage2DMultisampleEXT"); gl3wTextureStorage3DMultisampleEXT = (PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)get_proc("glTextureStorage3DMultisampleEXT"); }