#include #include #include #include #ifndef GLAD_IMPL_UTIL_C_ #define GLAD_IMPL_UTIL_C_ #if _MSC_VER >= 1400 #define GLAD_IMPL_UTIL_STRNCPY(dest, source, len) strncpy_s(dest, len, source, len-1); #else #define GLAD_IMPL_UTIL_STRNCPY(dest, source, len) strncpy(dest, source, len); #endif #ifdef _MSC_VER #define GLAD_IMPL_UTIL_SSCANF sscanf_s #else #define GLAD_IMPL_UTIL_SSCANF sscanf #endif #endif /* GLAD_IMPL_UTIL_C_ */ int GLAD_GL_VERSION_1_0; int GLAD_GL_VERSION_1_1; int GLAD_GL_VERSION_1_2; int GLAD_GL_VERSION_1_3; int GLAD_GL_VERSION_1_4; int GLAD_GL_VERSION_1_5; int GLAD_GL_VERSION_2_0; int GLAD_GL_VERSION_2_1; int GLAD_GL_VERSION_3_0; int GLAD_GL_VERSION_3_1; int GLAD_GL_VERSION_3_2; int GLAD_GL_VERSION_3_3; int GLAD_GL_VERSION_4_0; int GLAD_GL_VERSION_4_1; int GLAD_GL_VERSION_4_2; int GLAD_GL_VERSION_4_3; int GLAD_GL_VERSION_4_4; int GLAD_GL_VERSION_4_5; int GLAD_GL_VERSION_4_6; int GLAD_GL_ARB_point_sprite; PFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv; PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample; PFNGLEVALPOINT2PROC glad_glEvalPoint2; PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding; PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange; PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv; PFNGLPIXELTRANSFERFPROC glad_glPixelTransferf; PFNGLGETFLOATI_VPROC glad_glGetFloati_v; PFNGLLOADNAMEPROC glad_glLoadName; PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; PFNGLSECONDARYCOLOR3SVPROC glad_glSecondaryColor3sv; PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D; PFNGLSECONDARYCOLOR3UIVPROC glad_glSecondaryColor3uiv; PFNGLUNIFORM1DVPROC glad_glUniform1dv; PFNGLWINDOWPOS3DVPROC glad_glWindowPos3dv; PFNGLSECONDARYCOLOR3BVPROC glad_glSecondaryColor3bv; PFNGLSECONDARYCOLOR3UIPROC glad_glSecondaryColor3ui; PFNGLGETNCOLORTABLEPROC glad_glGetnColorTable; PFNGLRASTERPOS3IPROC glad_glRasterPos3i; PFNGLACTIVETEXTUREPROC glad_glActiveTexture; PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; PFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData; PFNGLNORMAL3DPROC glad_glNormal3d; PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData; PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase; PFNGLEVALCOORD1DPROC glad_glEvalCoord1d; PFNGLGETMAPFVPROC glad_glGetMapfv; PFNGLISSYNCPROC glad_glIsSync; PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i; PFNGLGETPIXELMAPFVPROC glad_glGetPixelMapfv; PFNGLVERTEX4SVPROC glad_glVertex4sv; PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D; PFNGLTEXCOORD2FVPROC glad_glTexCoord2fv; PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv; PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed; PFNGLISQUERYPROC glad_glIsQuery; PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines; PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv; PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv; PFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer; PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; PFNGLINDEXSPROC glad_glIndexs; PFNGLCOLORP3UIPROC glad_glColorP3ui; PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; PFNGLCREATESHADERPROC glad_glCreateShader; PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi; PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage; PFNGLCOLOR4SVPROC glad_glColor4sv; PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert; PFNGLRECTFPROC glad_glRectf; PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog; PFNGLWINDOWPOS3SPROC glad_glWindowPos3s; PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData; PFNGLCOLORPOINTERPROC glad_glColorPointer; PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; PFNGLGETMATERIALFVPROC glad_glGetMaterialfv; PFNGLMULTITEXCOORD4IVPROC glad_glMultiTexCoord4iv; PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; PFNGLGETMATERIALIVPROC glad_glGetMaterialiv; PFNGLBLENDFUNCPROC glad_glBlendFunc; PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer; PFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData; PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i; PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv; PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat; PFNGLVERTEX2SVPROC glad_glVertex2sv; PFNGLRECTSVPROC glad_glRectsv; PFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D; PFNGLUNIFORM3FPROC glad_glUniform3f; PFNGLDRAWBUFFERPROC glad_glDrawBuffer; PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; PFNGLUNIFORM4FPROC glad_glUniform4f; PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; PFNGLSECONDARYCOLOR3UBVPROC glad_glSecondaryColor3ubv; PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; PFNGLCLEARCOLORPROC glad_glClearColor; PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; PFNGLGETTEXGENFVPROC glad_glGetTexGenfv; PFNGLCOLOR4DVPROC glad_glColor4dv; PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram; PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv; PFNGLMAPGRID1FPROC glad_glMapGrid1f; PFNGLMULTITEXCOORD3DPROC glad_glMultiTexCoord3d; PFNGLWINDOWPOS2DVPROC glad_glWindowPos2dv; PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; PFNGLTEXGENFVPROC glad_glTexGenfv; PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; PFNGLROTATEDPROC glad_glRotated; PFNGLCREATEQUERIESPROC glad_glCreateQueries; PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; PFNGLTEXIMAGE1DPROC glad_glTexImage1D; PFNGLWINDOWPOS3IPROC glad_glWindowPos3i; PFNGLCLAMPCOLORPROC glad_glClampColor; PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; PFNGLVERTEX4FPROC glad_glVertex4f; PFNGLNORMAL3FPROC glad_glNormal3f; PFNGLCOLOR3UBPROC glad_glColor3ub; PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed; PFNGLPUSHCLIENTATTRIBPROC glad_glPushClientAttrib; PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages; PFNGLTEXCOORD3SPROC glad_glTexCoord3s; PFNGLLIGHTFPROC glad_glLightf; PFNGLTEXCOORD3FVPROC glad_glTexCoord3fv; PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d; PFNGLFOGCOORDDPROC glad_glFogCoordd; PFNGLGETNPIXELMAPUIVPROC glad_glGetnPixelMapuiv; PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; PFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv; PFNGLGETSTRINGIPROC glad_glGetStringi; PFNGLRASTERPOS4SPROC glad_glRasterPos4s; PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; PFNGLGETQUERYIVPROC glad_glGetQueryiv; PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv; PFNGLTEXPARAMETERFPROC glad_glTexParameterf; PFNGLWINDOWPOS3DPROC glad_glWindowPos3d; PFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap; PFNGLDELETESYNCPROC glad_glDeleteSync; PFNGLBINDBUFFERPROC glad_glBindBuffer; PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup; PFNGLRASTERPOS2IPROC glad_glRasterPos2i; PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture; PFNGLFEEDBACKBUFFERPROC glad_glFeedbackBuffer; PFNGLEVALMESH2PROC glad_glEvalMesh2; PFNGLLINKPROGRAMPROC glad_glLinkProgram; PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; PFNGLPUSHMATRIXPROC glad_glPushMatrix; PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri; PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; PFNGLUNIFORM3DPROC glad_glUniform3d; PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v; PFNGLCOMPILESHADERPROC glad_glCompileShader; PFNGLGETLIGHTFVPROC glad_glGetLightfv; PFNGLPIXELMAPUSVPROC glad_glPixelMapusv; PFNGLRASTERPOS4IPROC glad_glRasterPos4i; PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv; PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; PFNGLINITNAMESPROC glad_glInitNames; PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; PFNGLMAP1FPROC glad_glMap1f; PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv; PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv; PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer; PFNGLGETTEXGENDVPROC glad_glGetTexGendv; PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv; PFNGLSECONDARYCOLOR3FPROC glad_glSecondaryColor3f; PFNGLSHADERBINARYPROC glad_glShaderBinary; PFNGLMAP1DPROC glad_glMap1d; PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv; PFNGLMULTITEXCOORD4DPROC glad_glMultiTexCoord4d; PFNGLTEXCOORD1DVPROC glad_glTexCoord1dv; PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample; PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks; PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData; PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv; PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv; PFNGLPIXELMAPFVPROC glad_glPixelMapfv; PFNGLCOLOR3FPROC glad_glColor3f; PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv; PFNGLMULTMATRIXDPROC glad_glMultMatrixd; PFNGLCOPYPIXELSPROC glad_glCopyPixels; PFNGLUNIFORM2DVPROC glad_glUniform2dv; PFNGLCOLOR3SVPROC glad_glColor3sv; PFNGLOBJECTLABELPROC glad_glObjectLabel; PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel; PFNGLINDEXFVPROC glad_glIndexfv; PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D; PFNGLMAPGRID1DPROC glad_glMapGrid1d; PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv; PFNGLRASTERPOS3SVPROC glad_glRasterPos3sv; PFNGLSELECTBUFFERPROC glad_glSelectBuffer; PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri; PFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv; PFNGLCOLOR3IVPROC glad_glColor3iv; PFNGLMAPBUFFERPROC glad_glMapBuffer; PFNGLNORMALP3UIPROC glad_glNormalP3ui; PFNGLVERTEXPOINTERPROC glad_glVertexPointer; PFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv; PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; PFNGLDEPTHRANGEFPROC glad_glDepthRangef; PFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv; PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers; PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; PFNGLINDEXIPROC glad_glIndexi; PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName; PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; PFNGLGETPIXELMAPUIVPROC glad_glGetPixelMapuiv; PFNGLGETTEXGENIVPROC glad_glGetTexGeniv; PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; PFNGLPOINTSIZEPROC glad_glPointSize; PFNGLVERTEXP2UIPROC glad_glVertexP2ui; PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount; PFNGLGETNTEXIMAGEPROC glad_glGetnTexImage; PFNGLCULLFACEPROC glad_glCullFace; PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; PFNGLTEXTUREBARRIERPROC glad_glTextureBarrier; PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; PFNGLBEGINQUERYPROC glad_glBeginQuery; PFNGLCOLOR4USPROC glad_glColor4us; PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; PFNGLTEXCOORD4IVPROC glad_glTexCoord4iv; PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv; PFNGLDELETETEXTURESPROC glad_glDeleteTextures; PFNGLWINDOWPOS2IVPROC glad_glWindowPos2iv; PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; PFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays; PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui; PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D; PFNGLRECTDPROC glad_glRectd; PFNGLMULTTRANSPOSEMATRIXDPROC glad_glMultTransposeMatrixd; PFNGLTEXENVFPROC glad_glTexEnvf; PFNGLNORMAL3IPROC glad_glNormal3i; PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; PFNGLGETINTEGERVPROC glad_glGetIntegerv; PFNGLUSEPROGRAMPROC glad_glUseProgram; PFNGLNORMAL3BVPROC glad_glNormal3bv; PFNGLPIXELSTOREIPROC glad_glPixelStorei; PFNGLNORMAL3SPROC glad_glNormal3s; PFNGLCOLOR4IVPROC glad_glColor4iv; PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; PFNGLARETEXTURESRESIDENTPROC glad_glAreTexturesResident; PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName; PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv; PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D; PFNGLTEXCOORD1IPROC glad_glTexCoord1i; PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage; PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers; PFNGLSECONDARYCOLOR3DPROC glad_glSecondaryColor3d; PFNGLINTERLEAVEDARRAYSPROC glad_glInterleavedArrays; PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; PFNGLISENABLEDIPROC glad_glIsEnabledi; PFNGLBINDSAMPLERSPROC glad_glBindSamplers; PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; PFNGLPRIORITIZETEXTURESPROC glad_glPrioritizeTextures; PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv; PFNGLRASTERPOS4DPROC glad_glRasterPos4d; PFNGLSECONDARYCOLOR3USVPROC glad_glSecondaryColor3usv; PFNGLGETSYNCIVPROC glad_glGetSynciv; PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; PFNGLLIGHTMODELFVPROC glad_glLightModelfv; PFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D; PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback; PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines; PFNGLVERTEX4FVPROC glad_glVertex4fv; PFNGLLIGHTIVPROC glad_glLightiv; PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv; PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; PFNGLTEXCOORD3DVPROC glad_glTexCoord3dv; PFNGLFOGCOORDPOINTERPROC glad_glFogCoordPointer; PFNGLUNIFORM2IPROC glad_glUniform2i; PFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D; PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v; PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData; PFNGLBINDTEXTUREPROC glad_glBindTexture; PFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange; PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; PFNGLSAMPLEMASKIPROC glad_glSampleMaski; PFNGLCLEARACCUMPROC glad_glClearAccum; PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary; PFNGLDETACHSHADERPROC glad_glDetachShader; PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; PFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri; PFNGLCOLOR3DVPROC glad_glColor3dv; PFNGLBINDSAMPLERPROC glad_glBindSampler; PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus; PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv; PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; PFNGLRASTERPOS4DVPROC glad_glRasterPos4dv; PFNGLGETFLOATVPROC glad_glGetFloatv; PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri; PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; PFNGLSECONDARYCOLORPOINTERPROC glad_glSecondaryColorPointer; PFNGLISSAMPLERPROC glad_glIsSampler; PFNGLMULTITEXCOORD1DVPROC glad_glMultiTexCoord1dv; PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv; PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl; PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange; PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect; PFNGLGETMAPDVPROC glad_glGetMapdv; PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat; PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced; PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase; PFNGLGETTEXENVIVPROC glad_glGetTexEnviv; PFNGLCOLORP3UIVPROC glad_glColorP3uiv; PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; PFNGLPOPCLIENTATTRIBPROC glad_glPopClientAttrib; PFNGLGETTEXIMAGEPROC glad_glGetTexImage; PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv; PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage; PFNGLMULTITEXCOORD2FVPROC glad_glMultiTexCoord2fv; PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; PFNGLEVALPOINT1PROC glad_glEvalPoint1; PFNGLCOLOR3USPROC glad_glColor3us; PFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage; PFNGLCOLOR3IPROC glad_glColor3i; PFNGLSECONDARYCOLOR3DVPROC glad_glSecondaryColor3dv; PFNGLEVALCOORD1FVPROC glad_glEvalCoord1fv; PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv; PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d; PFNGLCOLOR4DPROC glad_glColor4d; PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; PFNGLCOLOR4UBVPROC glad_glColor4ubv; PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv; PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv; PFNGLSCISSORPROC glad_glScissor; PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv; PFNGLVERTEX4IVPROC glad_glVertex4iv; PFNGLCOLORMASKPROC glad_glColorMask; PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; PFNGLGETBOOLEANVPROC glad_glGetBooleanv; PFNGLVERTEX3DPROC glad_glVertex3d; PFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv; PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer; PFNGLGETPOLYGONSTIPPLEPROC glad_glGetPolygonStipple; PFNGLSTENCILOPPROC glad_glStencilOp; PFNGLVIEWPORTPROC glad_glViewport; PFNGLGETNPOLYGONSTIPPLEPROC glad_glGetnPolygonStipple; PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; PFNGLCREATEPROGRAMPROC glad_glCreateProgram; PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv; PFNGLTEXGENDPROC glad_glTexGend; PFNGLINDEXUBPROC glad_glIndexub; PFNGLMULTMATRIXFPROC glad_glMultMatrixf; PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; PFNGLTEXIMAGE3DPROC glad_glTexImage3D; PFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv; PFNGLRECTIVPROC glad_glRectiv; PFNGLTEXCOORD4SPROC glad_glTexCoord4s; PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; PFNGLLOGICOPPROC glad_glLogicOp; PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; PFNGLSECONDARYCOLOR3FVPROC glad_glSecondaryColor3fv; PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv; PFNGLCREATESAMPLERSPROC glad_glCreateSamplers; PFNGLPIXELMAPUIVPROC glad_glPixelMapuiv; PFNGLBLENDCOLORPROC glad_glBlendColor; PFNGLLIGHTMODELIPROC glad_glLightModeli; PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; PFNGLGENQUERIESPROC glad_glGenQueries; PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture; PFNGLGETNSEPARABLEFILTERPROC glad_glGetnSeparableFilter; PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; PFNGLCOLOR4FVPROC glad_glColor4fv; PFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv; PFNGLUNIFORM1UIPROC glad_glUniform1ui; PFNGLGETNMAPFVPROC glad_glGetnMapfv; PFNGLUNIFORM4FVPROC glad_glUniform4fv; PFNGLTEXGENFPROC glad_glTexGenf; PFNGLINDEXIVPROC glad_glIndexiv; PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; PFNGLMULTITEXCOORD3IPROC glad_glMultiTexCoord3i; PFNGLCOLOR4USVPROC glad_glColor4usv; PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; PFNGLWINDOWPOS2IPROC glad_glWindowPos2i; PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange; PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect; PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; PFNGLUNIFORM3IPROC glad_glUniform3i; PFNGLGETCLIPPLANEPROC glad_glGetClipPlane; PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; PFNGLTEXCOORD2IPROC glad_glTexCoord2i; PFNGLUNIFORM4UIPROC glad_glUniform4ui; PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance; PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; PFNGLGETLIGHTIVPROC glad_glGetLightiv; PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv; PFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D; PFNGLSTENCILMASKPROC glad_glStencilMask; PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; PFNGLMULTITEXCOORD4FPROC glad_glMultiTexCoord4f; PFNGLINDEXDPROC glad_glIndexd; PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; PFNGLEVALMESH1PROC glad_glEvalMesh1; PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv; PFNGLCLIENTACTIVETEXTUREPROC glad_glClientActiveTexture; PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; PFNGLRASTERPOS3DPROC glad_glRasterPos3d; PFNGLEVALCOORD2FVPROC glad_glEvalCoord2fv; PFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit; PFNGLWAITSYNCPROC glad_glWaitSync; PFNGLMATERIALFVPROC glad_glMaterialfv; PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i; PFNGLRASTERPOS2SPROC glad_glRasterPos2s; PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; PFNGLDEPTHFUNCPROC glad_glDepthFunc; PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f; PFNGLSHADERSOURCEPROC glad_glShaderSource; PFNGLVERTEX2IVPROC glad_glVertex2iv; PFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer; PFNGLCLEARDEPTHFPROC glad_glClearDepthf; PFNGLUNIFORM1FPROC glad_glUniform1f; PFNGLMULTITEXCOORD1DPROC glad_glMultiTexCoord1d; PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers; PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks; PFNGLVERTEX3IVPROC glad_glVertex3iv; PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; PFNGLISTEXTUREPROC glad_glIsTexture; PFNGLMULTTRANSPOSEMATRIXFPROC glad_glMultTransposeMatrixf; PFNGLNEWLISTPROC glad_glNewList; PFNGLSCALEFPROC glad_glScalef; PFNGLVERTEX3FPROC glad_glVertex3f; PFNGLTEXCOORD1IVPROC glad_glTexCoord1iv; PFNGLFOGCOORDFVPROC glad_glFogCoordfv; PFNGLMAPGRID2DPROC glad_glMapGrid2d; PFNGLWINDOWPOS2FVPROC glad_glWindowPos2fv; PFNGLREADPIXELSPROC glad_glReadPixels; PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage; PFNGLORTHOPROC glad_glOrtho; PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; PFNGLWINDOWPOS2SVPROC glad_glWindowPos2sv; PFNGLFOGFPROC glad_glFogf; PFNGLCOLOR3SPROC glad_glColor3s; PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; PFNGLPIXELZOOMPROC glad_glPixelZoom; PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f; PFNGLEVALCOORD2DVPROC glad_glEvalCoord2dv; PFNGLVERTEX3DVPROC glad_glVertex3dv; PFNGLUNIFORM3FVPROC glad_glUniform3fv; PFNGLENABLEPROC glad_glEnable; PFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv; PFNGLFOGCOORDDVPROC glad_glFogCoorddv; PFNGLBUFFERDATAPROC glad_glBufferData; PFNGLPOPATTRIBPROC glad_glPopAttrib; PFNGLNORMAL3DVPROC glad_glNormal3dv; PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; PFNGLPASSTHROUGHPROC glad_glPassThrough; PFNGLTEXCOORD2DVPROC glad_glTexCoord2dv; PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; PFNGLUNIFORM3DVPROC glad_glUniform3dv; PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi; PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; PFNGLVERTEX4IPROC glad_glVertex4i; PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; PFNGLTEXENVFVPROC glad_glTexEnvfv; PFNGLMULTITEXCOORD4DVPROC glad_glMultiTexCoord4dv; PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage; PFNGLTRANSLATEDPROC glad_glTranslated; PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv; PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv; PFNGLREADBUFFERPROC glad_glReadBuffer; PFNGLENDPROC glad_glEnd; PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D; PFNGLVERTEX2DVPROC glad_glVertex2dv; PFNGLPUSHNAMEPROC glad_glPushName; PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData; PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; PFNGLGENTEXTURESPROC glad_glGenTextures; PFNGLTEXCOORD4FVPROC glad_glTexCoord4fv; PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute; PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName; PFNGLVERTEX2FVPROC glad_glVertex2fv; PFNGLCOLOR4UBPROC glad_glColor4ub; PFNGLUNIFORM3IVPROC glad_glUniform3iv; PFNGLCLIPPLANEPROC glad_glClipPlane; PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv; PFNGLUNIFORM4IPROC glad_glUniform4i; PFNGLWINDOWPOS3IVPROC glad_glWindowPos3iv; PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; PFNGLUNIFORM2DPROC glad_glUniform2d; PFNGLPOPMATRIXPROC glad_glPopMatrix; PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline; PFNGLRASTERPOS3DVPROC glad_glRasterPos3dv; PFNGLTEXCOORD1FVPROC glad_glTexCoord1fv; PFNGLTEXCOORD2IVPROC glad_glTexCoord2iv; PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D; PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v; PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat; PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel; PFNGLGETNPIXELMAPUSVPROC glad_glGetnPixelMapusv; PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f; PFNGLCLEARSTENCILPROC glad_glClearStencil; PFNGLDISABLEPROC glad_glDisable; PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex; PFNGLMULTITEXCOORD2DPROC glad_glMultiTexCoord2d; PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; PFNGLMULTITEXCOORD3FVPROC glad_glMultiTexCoord3fv; PFNGLUNIFORM4IVPROC glad_glUniform4iv; PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage; PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; PFNGLEVALCOORD2DPROC glad_glEvalCoord2d; PFNGLGETPOINTERVPROC glad_glGetPointerv; PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d; PFNGLTEXCOORD2FPROC glad_glTexCoord2f; PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv; PFNGLSECONDARYCOLOR3IVPROC glad_glSecondaryColor3iv; PFNGLFINISHPROC glad_glFinish; PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline; PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; PFNGLGETNMAPDVPROC glad_glGetnMapdv; PFNGLBINDTEXTURESPROC glad_glBindTextures; PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; PFNGLCOLORMASKIPROC glad_glColorMaski; PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; PFNGLMULTITEXCOORD3SPROC glad_glMultiTexCoord3s; PFNGLWINDOWPOS2DPROC glad_glWindowPos2d; PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance; PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback; PFNGLWINDOWPOS2FPROC glad_glWindowPos2f; PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer; PFNGLTEXCOORD4FPROC glad_glTexCoord4f; PFNGLLIGHTMODELIVPROC glad_glLightModeliv; PFNGLUNIFORM2UIPROC glad_glUniform2ui; PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; PFNGLTEXBUFFERPROC glad_glTexBuffer; PFNGLUNIFORM2FPROC glad_glUniform2f; PFNGLTEXCOORD1DPROC glad_glTexCoord1d; PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; PFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus; PFNGLTEXCOORD1SPROC glad_glTexCoord1s; PFNGLINDEXSVPROC glad_glIndexsv; PFNGLRASTERPOS4IVPROC glad_glRasterPos4iv; PFNGLSECONDARYCOLOR3IPROC glad_glSecondaryColor3i; PFNGLCALLLISTPROC glad_glCallList; PFNGLINDEXUBVPROC glad_glIndexubv; PFNGLPOLYGONMODEPROC glad_glPolygonMode; PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback; PFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData; PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv; PFNGLDISABLECLIENTSTATEPROC glad_glDisableClientState; PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv; PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat; PFNGLVERTEX4DPROC glad_glVertex4d; PFNGLNORMAL3SVPROC glad_glNormal3sv; PFNGLRASTERPOS4FPROC glad_glRasterPos4f; PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv; PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer; PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv; PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv; PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; PFNGLTEXCOORD1SVPROC glad_glTexCoord1sv; PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; PFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D; PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage; PFNGLGETMAPIVPROC glad_glGetMapiv; PFNGLMATRIXMODEPROC glad_glMatrixMode; PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv; PFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData; PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; PFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv; PFNGLVERTEX3FVPROC glad_glVertex3fv; PFNGLMATERIALIVPROC glad_glMaterialiv; PFNGLPIXELTRANSFERIPROC glad_glPixelTransferi; PFNGLGETNHISTOGRAMPROC glad_glGetnHistogram; PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv; PFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib; PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; PFNGLDELETELISTSPROC glad_glDeleteLists; PFNGLTEXCOORD2SVPROC glad_glTexCoord2sv; PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback; PFNGLMULTITEXCOORD1FPROC glad_glMultiTexCoord1f; PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v; PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; PFNGLDELETEQUERIESPROC glad_glDeleteQueries; PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri; PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d; PFNGLALPHAFUNCPROC glad_glAlphaFunc; PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange; PFNGLLINESTIPPLEPROC glad_glLineStipple; PFNGLTEXGENIPROC glad_glTexGeni; PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample; PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv; PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer; PFNGLPROGRAMBINARYPROC glad_glProgramBinary; PFNGLTEXCOORD4DVPROC glad_glTexCoord4dv; PFNGLVERTEX3IPROC glad_glVertex3i; PFNGLSECONDARYCOLOR3BPROC glad_glSecondaryColor3b; PFNGLRASTERPOS4SVPROC glad_glRasterPos4sv; PFNGLDISABLEIPROC glad_glDisablei; PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage; PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; PFNGLINDEXFPROC glad_glIndexf; PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; PFNGLGETNCONVOLUTIONFILTERPROC glad_glGetnConvolutionFilter; PFNGLGETERRORPROC glad_glGetError; PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; PFNGLMULTITEXCOORD2IVPROC glad_glMultiTexCoord2iv; PFNGLISPROGRAMPROC glad_glIsProgram; PFNGLISLISTPROC glad_glIsList; PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; PFNGLTEXPARAMETERIPROC glad_glTexParameteri; PFNGLPUSHATTRIBPROC glad_glPushAttrib; PFNGLFRONTFACEPROC glad_glFrontFace; PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance; PFNGLMULTITEXCOORD1SPROC glad_glMultiTexCoord1s; PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; PFNGLGENSAMPLERSPROC glad_glGenSamplers; PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; PFNGLRASTERPOS4FVPROC glad_glRasterPos4fv; PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback; PFNGLPOPNAMEPROC glad_glPopName; PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; PFNGLEVALCOORD1FPROC glad_glEvalCoord1f; PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; PFNGLLIGHTIPROC glad_glLighti; PFNGLTEXTUREVIEWPROC glad_glTextureView; PFNGLLOADTRANSPOSEMATRIXDPROC glad_glLoadTransposeMatrixd; PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv; PFNGLUNIFORM4DPROC glad_glUniform4d; PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; PFNGLEDGEFLAGPOINTERPROC glad_glEdgeFlagPointer; PFNGLSTENCILFUNCPROC glad_glStencilFunc; PFNGLUNIFORM1IPROC glad_glUniform1i; PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData; PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv; PFNGLFOGFVPROC glad_glFogfv; PFNGLVERTEXP3UIPROC glad_glVertexP3ui; PFNGLREADNPIXELSPROC glad_glReadnPixels; PFNGLMULTITEXCOORD1IPROC glad_glMultiTexCoord1i; PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding; PFNGLMULTITEXCOORD3DVPROC glad_glMultiTexCoord3dv; PFNGLVERTEX4SPROC glad_glVertex4s; PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor; PFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv; PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv; PFNGLNORMAL3BPROC glad_glNormal3b; PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv; PFNGLVERTEX3SVPROC glad_glVertex3sv; PFNGLMULTITEXCOORD3SVPROC glad_glMultiTexCoord3sv; PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v; PFNGLDRAWPIXELSPROC glad_glDrawPixels; PFNGLCALLLISTSPROC glad_glCallLists; PFNGLTEXCOORD3IPROC glad_glTexCoord3i; PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui; PFNGLQUERYCOUNTERPROC glad_glQueryCounter; PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv; PFNGLUNIFORM1IVPROC glad_glUniform1iv; PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv; PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv; PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; PFNGLMATERIALIPROC glad_glMateriali; PFNGLUNIFORM2FVPROC glad_glUniform2fv; PFNGLRASTERPOS3FVPROC glad_glRasterPos3fv; PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex; PFNGLGETDOUBLEVPROC glad_glGetDoublev; PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv; PFNGLCOLOR4BVPROC glad_glColor4bv; PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ; PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv; PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv; PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer; PFNGLTEXCOORD3FPROC glad_glTexCoord3f; PFNGLCOLOR3UIVPROC glad_glColor3uiv; PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; PFNGLCLEARPROC glad_glClear; PFNGLRASTERPOS2DVPROC glad_glRasterPos2dv; PFNGLTEXCOORD2SPROC glad_glTexCoord2s; PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; PFNGLTEXENVIPROC glad_glTexEnvi; PFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf; PFNGLMATERIALFPROC glad_glMaterialf; PFNGLGETUNIFORMDVPROC glad_glGetUniformdv; PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv; PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; PFNGLCLEARINDEXPROC glad_glClearIndex; PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect; PFNGLROTATEFPROC glad_glRotatef; PFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D; PFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp; PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv; PFNGLSECONDARYCOLOR3SPROC glad_glSecondaryColor3s; PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv; PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv; PFNGLRASTERPOS2FVPROC glad_glRasterPos2fv; PFNGLSHADEMODELPROC glad_glShadeModel; PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv; PFNGLNORMAL3FVPROC glad_glNormal3fv; PFNGLISBUFFERPROC glad_glIsBuffer; PFNGLMULTITEXCOORD3FPROC glad_glMultiTexCoord3f; PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; PFNGLGENBUFFERSPROC glad_glGenBuffers; PFNGLTEXCOORD1FPROC glad_glTexCoord1f; PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; PFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks; PFNGLMAP2FPROC glad_glMap2f; PFNGLCREATEBUFFERSPROC glad_glCreateBuffers; PFNGLCOLOR3USVPROC glad_glColor3usv; PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; PFNGLVERTEX2DPROC glad_glVertex2d; PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation; PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData; PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv; PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData; PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv; PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d; PFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage; PFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv; PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i; PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced; PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex; PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d; PFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer; PFNGLMULTITEXCOORD2FPROC glad_glMultiTexCoord2f; PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv; PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; PFNGLMULTITEXCOORD2DVPROC glad_glMultiTexCoord2dv; PFNGLCOLORMATERIALPROC glad_glColorMaterial; PFNGLBLENDEQUATIONPROC glad_glBlendEquation; PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; PFNGLCOLOR3DPROC glad_glColor3d; PFNGLMULTITEXCOORD3IVPROC glad_glMultiTexCoord3iv; PFNGLLIGHTFVPROC glad_glLightfv; PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; PFNGLDEPTHMASKPROC glad_glDepthMask; PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui; PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d; PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect; PFNGLLOADTRANSPOSEMATRIXFPROC glad_glLoadTransposeMatrixf; PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed; PFNGLSECONDARYCOLOR3USPROC glad_glSecondaryColor3us; PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample; PFNGLPIXELSTOREFPROC glad_glPixelStoref; PFNGLUNIFORM2IVPROC glad_glUniform2iv; PFNGLRASTERPOS2SVPROC glad_glRasterPos2sv; PFNGLVERTEX2IPROC glad_glVertex2i; PFNGLFRUSTUMPROC glad_glFrustum; PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier; PFNGLGETSTRINGPROC glad_glGetString; PFNGLLINEWIDTHPROC glad_glLineWidth; PFNGLNORMALPOINTERPROC glad_glNormalPointer; PFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv; PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv; PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; PFNGLATTACHSHADERPROC glad_glAttachShader; PFNGLDRAWARRAYSPROC glad_glDrawArrays; PFNGLCOLOR4SPROC glad_glColor4s; PFNGLTEXGENDVPROC glad_glTexGendv; PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv; PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; PFNGLENDQUERYPROC glad_glEndQuery; PFNGLWINDOWPOS2SPROC glad_glWindowPos2s; PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect; PFNGLRASTERPOS3SPROC glad_glRasterPos3s; PFNGLGETNPIXELMAPFVPROC glad_glGetnPixelMapfv; PFNGLTEXCOORD3SVPROC glad_glTexCoord3sv; PFNGLRECTIPROC glad_glRecti; PFNGLUNIFORM4DVPROC glad_glUniform4dv; PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei; PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv; PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv; PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer; PFNGLFENCESYNCPROC glad_glFenceSync; PFNGLUNIFORM3UIPROC glad_glUniform3ui; PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; PFNGLLOADMATRIXFPROC glad_glLoadMatrixf; PFNGLTRANSLATEFPROC glad_glTranslatef; PFNGLMULTITEXCOORD4SVPROC glad_glMultiTexCoord4sv; PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv; PFNGLMAPGRID2FPROC glad_glMapGrid2f; PFNGLENABLECLIENTSTATEPROC glad_glEnableClientState; PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; PFNGLEVALCOORD1DVPROC glad_glEvalCoord1dv; PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; PFNGLINDEXDVPROC glad_glIndexdv; PFNGLBLENDFUNCIPROC glad_glBlendFunci; PFNGLISENABLEDPROC glad_glIsEnabled; PFNGLGETPIXELMAPUSVPROC glad_glGetPixelMapusv; PFNGLRASTERPOS3IVPROC glad_glRasterPos3iv; PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; PFNGLMULTITEXCOORD2SPROC glad_glMultiTexCoord2s; PFNGLRASTERPOS2FPROC glad_glRasterPos2f; PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading; PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v; PFNGLMULTITEXCOORD2IPROC glad_glMultiTexCoord2i; PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; PFNGLVERTEX2FPROC glad_glVertex2f; PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor; PFNGLINDEXPOINTERPROC glad_glIndexPointer; PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; PFNGLRENDERMODEPROC glad_glRenderMode; PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D; PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; PFNGLCOLOR3FVPROC glad_glColor3fv; PFNGLBITMAPPROC glad_glBitmap; PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv; PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf; PFNGLRASTERPOS2DPROC glad_glRasterPos2d; PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; PFNGLENABLEIPROC glad_glEnablei; PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; PFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage; PFNGLRECTSPROC glad_glRects; PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv; PFNGLPOLYGONSTIPPLEPROC glad_glPolygonStipple; PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; PFNGLSECONDARYCOLOR3UBPROC glad_glSecondaryColor3ub; PFNGLWINDOWPOS3FPROC glad_glWindowPos3f; PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding; PFNGLLOADIDENTITYPROC glad_glLoadIdentity; PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; PFNGLVERTEX2SPROC glad_glVertex2s; PFNGLMULTITEXCOORD1IVPROC glad_glMultiTexCoord1iv; PFNGLMULTITEXCOORD4SPROC glad_glMultiTexCoord4s; PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler; PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; PFNGLMULTITEXCOORD2SVPROC glad_glMultiTexCoord2sv; PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; PFNGLISSHADERPROC glad_glIsShader; PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; PFNGLTEXCOORD4IPROC glad_glTexCoord4i; PFNGLCOLOR4UIPROC glad_glColor4ui; PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv; PFNGLGETTEXENVFVPROC glad_glGetTexEnvfv; PFNGLTEXCOORD4DPROC glad_glTexCoord4d; PFNGLSCISSORARRAYVPROC glad_glScissorArrayv; PFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers; PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; PFNGLCOLOR4FPROC glad_glColor4f; PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; PFNGLNORMAL3IVPROC glad_glNormal3iv; PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures; PFNGLTEXGENIVPROC glad_glTexGeniv; PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; PFNGLSCALEDPROC glad_glScaled; PFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines; PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei; PFNGLHINTPROC glad_glHint; PFNGLMULTITEXCOORD4IPROC glad_glMultiTexCoord4i; PFNGLINDEXMASKPROC glad_glIndexMask; PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f; PFNGLCOLOR3BPROC glad_glColor3b; PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; PFNGLSPECIALIZESHADERPROC glad_glSpecializeShader; PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer; PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v; PFNGLTEXCOORD3IVPROC glad_glTexCoord3iv; PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; PFNGLBUFFERSTORAGEPROC glad_glBufferStorage; PFNGLVERTEX3SPROC glad_glVertex3s; PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv; PFNGLDEPTHRANGEPROC glad_glDepthRange; PFNGLRASTERPOS3FPROC glad_glRasterPos3f; PFNGLDELETESHADERPROC glad_glDeleteShader; PFNGLCOLOR3BVPROC glad_glColor3bv; PFNGLCOLOR3UBVPROC glad_glColor3ubv; PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; PFNGLTEXCOORD4SVPROC glad_glTexCoord4sv; PFNGLMAP2DPROC glad_glMap2d; PFNGLFOGCOORDFPROC glad_glFogCoordf; PFNGLEDGEFLAGVPROC glad_glEdgeFlagv; PFNGLCLIPCONTROLPROC glad_glClipControl; PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; PFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv; PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv; PFNGLGETNMINMAXPROC glad_glGetnMinmax; PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample; PFNGLCOLORP4UIPROC glad_glColorP4ui; PFNGLMULTITEXCOORD1SVPROC glad_glMultiTexCoord1sv; PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; PFNGLVERTEXP4UIPROC glad_glVertexP4ui; PFNGLRECTFVPROC glad_glRectfv; PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; PFNGLARRAYELEMENTPROC glad_glArrayElement; PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer; PFNGLBEGINPROC glad_glBegin; PFNGLTEXCOORDPOINTERPROC glad_glTexCoordPointer; PFNGLTEXCOORD3DPROC glad_glTexCoord3d; PFNGLUNIFORM1FVPROC glad_glUniform1fv; PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog; PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat; PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d; PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv; PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback; PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib; PFNGLMULTITEXCOORD4FVPROC glad_glMultiTexCoord4fv; PFNGLUNIFORM1DPROC glad_glUniform1d; PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat; PFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion; PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup; PFNGLCOLOR4BPROC glad_glColor4b; PFNGLTEXTUREBUFFERPROC glad_glTextureBuffer; PFNGLGETSHADERIVPROC glad_glGetShaderiv; PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed; PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData; PFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat; PFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange; PFNGLCOLOR4UIVPROC glad_glColor4uiv; PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; PFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv; PFNGLFOGIVPROC glad_glFogiv; PFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv; PFNGLLISTBASEPROC glad_glListBase; PFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers; PFNGLEVALCOORD2FPROC glad_glEvalCoord2f; PFNGLVERTEX4DVPROC glad_glVertex4dv; PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; PFNGLDRAWELEMENTSPROC glad_glDrawElements; PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream; PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; PFNGLGENLISTSPROC glad_glGenLists; PFNGLCOLOR4IPROC glad_glColor4i; PFNGLCOLOR3UIPROC glad_glColor3ui; PFNGLCREATETEXTURESPROC glad_glCreateTextures; PFNGLCOLORP4UIVPROC glad_glColorP4uiv; PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D; PFNGLEDGEFLAGPROC glad_glEdgeFlag; PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; PFNGLRASTERPOS2IVPROC glad_glRasterPos2iv; PFNGLGETNMAPIVPROC glad_glGetnMapiv; PFNGLRECTDVPROC glad_glRectdv; PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; PFNGLENDLISTPROC glad_glEndList; PFNGLFLUSHPROC glad_glFlush; PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui; PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount; PFNGLGETINTEGER64VPROC glad_glGetInteger64v; PFNGLLIGHTMODELFPROC glad_glLightModelf; PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv; PFNGLLOADMATRIXDPROC glad_glLoadMatrixd; PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline; PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv; PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; PFNGLCLEARDEPTHPROC glad_glClearDepth; PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; PFNGLWINDOWPOS3FVPROC glad_glWindowPos3fv; PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation; PFNGLTEXCOORD2DPROC glad_glTexCoord2d; PFNGLACCUMPROC glad_glAccum; PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; PFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv; PFNGLFOGIPROC glad_glFogi; PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; PFNGLTEXENVIVPROC glad_glTexEnviv; PFNGLTEXIMAGE2DPROC glad_glTexImage2D; PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv; PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv; PFNGLMULTITEXCOORD1FVPROC glad_glMultiTexCoord1fv; PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel; static void load_GL_VERSION_1_0( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_1_0) return; glEvalPoint2 = (PFNGLEVALPOINT2PROC) load("glEvalPoint2", userptr); glEvalCoord2d = (PFNGLEVALCOORD2DPROC) load("glEvalCoord2d", userptr); glPixelStoref = (PFNGLPIXELSTOREFPROC) load("glPixelStoref", userptr); glTexCoord2f = (PFNGLTEXCOORD2FPROC) load("glTexCoord2f", userptr); glFinish = (PFNGLFINISHPROC) load("glFinish", userptr); glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC) load("glGetTexLevelParameterfv", userptr); glPixelTransferf = (PFNGLPIXELTRANSFERFPROC) load("glPixelTransferf", userptr); glClearAccum = (PFNGLCLEARACCUMPROC) load("glClearAccum", userptr); glLoadName = (PFNGLLOADNAMEPROC) load("glLoadName", userptr); glRasterPos2sv = (PFNGLRASTERPOS2SVPROC) load("glRasterPos2sv", userptr); glVertex2i = (PFNGLVERTEX2IPROC) load("glVertex2i", userptr); glFrustum = (PFNGLFRUSTUMPROC) load("glFrustum", userptr); glGetString = (PFNGLGETSTRINGPROC) load("glGetString", userptr); glLineWidth = (PFNGLLINEWIDTHPROC) load("glLineWidth", userptr); glColor3dv = (PFNGLCOLOR3DVPROC) load("glColor3dv", userptr); glColor4s = (PFNGLCOLOR4SPROC) load("glColor4s", userptr); glTexGendv = (PFNGLTEXGENDVPROC) load("glTexGendv", userptr); glRasterPos3s = (PFNGLRASTERPOS3SPROC) load("glRasterPos3s", userptr); glRasterPos4dv = (PFNGLRASTERPOS4DVPROC) load("glRasterPos4dv", userptr); glGetFloatv = (PFNGLGETFLOATVPROC) load("glGetFloatv", userptr); glRasterPos3i = (PFNGLRASTERPOS3IPROC) load("glRasterPos3i", userptr); glTexCoord4f = (PFNGLTEXCOORD4FPROC) load("glTexCoord4f", userptr); glGetMapfv = (PFNGLGETMAPFVPROC) load("glGetMapfv", userptr); glNormal3d = (PFNGLNORMAL3DPROC) load("glNormal3d", userptr); glLightModeliv = (PFNGLLIGHTMODELIVPROC) load("glLightModeliv", userptr); glTexCoord3sv = (PFNGLTEXCOORD3SVPROC) load("glTexCoord3sv", userptr); glEvalCoord1d = (PFNGLEVALCOORD1DPROC) load("glEvalCoord1d", userptr); glGetMapdv = (PFNGLGETMAPDVPROC) load("glGetMapdv", userptr); glRecti = (PFNGLRECTIPROC) load("glRecti", userptr); glTexCoord1d = (PFNGLTEXCOORD1DPROC) load("glTexCoord1d", userptr); glGetPixelMapfv = (PFNGLGETPIXELMAPFVPROC) load("glGetPixelMapfv", userptr); glVertex4sv = (PFNGLVERTEX4SVPROC) load("glVertex4sv", userptr); glTexCoord1s = (PFNGLTEXCOORD1SPROC) load("glTexCoord1s", userptr); glIndexsv = (PFNGLINDEXSVPROC) load("glIndexsv", userptr); glRasterPos4iv = (PFNGLRASTERPOS4IVPROC) load("glRasterPos4iv", userptr); glTexCoord2fv = (PFNGLTEXCOORD2FVPROC) load("glTexCoord2fv", userptr); glGetTexEnviv = (PFNGLGETTEXENVIVPROC) load("glGetTexEnviv", userptr); glCallList = (PFNGLCALLLISTPROC) load("glCallList", userptr); glLoadMatrixf = (PFNGLLOADMATRIXFPROC) load("glLoadMatrixf", userptr); glPolygonMode = (PFNGLPOLYGONMODEPROC) load("glPolygonMode", userptr); glTranslatef = (PFNGLTRANSLATEFPROC) load("glTranslatef", userptr); glGetTexImage = (PFNGLGETTEXIMAGEPROC) load("glGetTexImage", userptr); glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC) load("glGetTexParameterfv", userptr); glMapGrid2f = (PFNGLMAPGRID2FPROC) load("glMapGrid2f", userptr); glVertex4d = (PFNGLVERTEX4DPROC) load("glVertex4d", userptr); glNormal3sv = (PFNGLNORMAL3SVPROC) load("glNormal3sv", userptr); glRasterPos4f = (PFNGLRASTERPOS4FPROC) load("glRasterPos4f", userptr); glEvalCoord1dv = (PFNGLEVALCOORD1DVPROC) load("glEvalCoord1dv", userptr); glIndexs = (PFNGLINDEXSPROC) load("glIndexs", userptr); glIndexdv = (PFNGLINDEXDVPROC) load("glIndexdv", userptr); glIsEnabled = (PFNGLISENABLEDPROC) load("glIsEnabled", userptr); glGetPixelMapusv = (PFNGLGETPIXELMAPUSVPROC) load("glGetPixelMapusv", userptr); glColor3us = (PFNGLCOLOR3USPROC) load("glColor3us", userptr); glEvalPoint1 = (PFNGLEVALPOINT1PROC) load("glEvalPoint1", userptr); glColor4sv = (PFNGLCOLOR4SVPROC) load("glColor4sv", userptr); glColor3i = (PFNGLCOLOR3IPROC) load("glColor3i", userptr); glRectf = (PFNGLRECTFPROC) load("glRectf", userptr); glEvalCoord1fv = (PFNGLEVALCOORD1FVPROC) load("glEvalCoord1fv", userptr); glTexCoord1sv = (PFNGLTEXCOORD1SVPROC) load("glTexCoord1sv", userptr); glColor4d = (PFNGLCOLOR4DPROC) load("glColor4d", userptr); glColor4ubv = (PFNGLCOLOR4UBVPROC) load("glColor4ubv", userptr); glGetMaterialfv = (PFNGLGETMATERIALFVPROC) load("glGetMaterialfv", userptr); glRasterPos3iv = (PFNGLRASTERPOS3IVPROC) load("glRasterPos3iv", userptr); glGetMaterialiv = (PFNGLGETMATERIALIVPROC) load("glGetMaterialiv", userptr); glBlendFunc = (PFNGLBLENDFUNCPROC) load("glBlendFunc", userptr); glGetMapiv = (PFNGLGETMAPIVPROC) load("glGetMapiv", userptr); glMatrixMode = (PFNGLMATRIXMODEPROC) load("glMatrixMode", userptr); glScissor = (PFNGLSCISSORPROC) load("glScissor", userptr); glVertex4iv = (PFNGLVERTEX4IVPROC) load("glVertex4iv", userptr); glColorMask = (PFNGLCOLORMASKPROC) load("glColorMask", userptr); glGetBooleanv = (PFNGLGETBOOLEANVPROC) load("glGetBooleanv", userptr); glVertex2sv = (PFNGLVERTEX2SVPROC) load("glVertex2sv", userptr); glRectsv = (PFNGLRECTSVPROC) load("glRectsv", userptr); glRasterPos2f = (PFNGLRASTERPOS2FPROC) load("glRasterPos2f", userptr); glVertex3d = (PFNGLVERTEX3DPROC) load("glVertex3d", userptr); glStencilOp = (PFNGLSTENCILOPPROC) load("glStencilOp", userptr); glViewport = (PFNGLVIEWPORTPROC) load("glViewport", userptr); glMaterialiv = (PFNGLMATERIALIVPROC) load("glMaterialiv", userptr); glDrawBuffer = (PFNGLDRAWBUFFERPROC) load("glDrawBuffer", userptr); glVertex2f = (PFNGLVERTEX2FPROC) load("glVertex2f", userptr); glPixelTransferi = (PFNGLPIXELTRANSFERIPROC) load("glPixelTransferi", userptr); glGetPolygonStipple = (PFNGLGETPOLYGONSTIPPLEPROC) load("glGetPolygonStipple", userptr); glDeleteLists = (PFNGLDELETELISTSPROC) load("glDeleteLists", userptr); glRenderMode = (PFNGLRENDERMODEPROC) load("glRenderMode", userptr); glTexCoord2sv = (PFNGLTEXCOORD2SVPROC) load("glTexCoord2sv", userptr); glTexGend = (PFNGLTEXGENDPROC) load("glTexGend", userptr); glBitmap = (PFNGLBITMAPPROC) load("glBitmap", userptr); glMultMatrixf = (PFNGLMULTMATRIXFPROC) load("glMultMatrixf", userptr); glColor3fv = (PFNGLCOLOR3FVPROC) load("glColor3fv", userptr); glClearColor = (PFNGLCLEARCOLORPROC) load("glClearColor", userptr); glRectiv = (PFNGLRECTIVPROC) load("glRectiv", userptr); glGetTexGenfv = (PFNGLGETTEXGENFVPROC) load("glGetTexGenfv", userptr); glColor4dv = (PFNGLCOLOR4DVPROC) load("glColor4dv", userptr); glLogicOp = (PFNGLLOGICOPPROC) load("glLogicOp", userptr); glTexCoord4s = (PFNGLTEXCOORD4SPROC) load("glTexCoord4s", userptr); glRasterPos2d = (PFNGLRASTERPOS2DPROC) load("glRasterPos2d", userptr); glMapGrid1f = (PFNGLMAPGRID1FPROC) load("glMapGrid1f", userptr); glLightModeli = (PFNGLLIGHTMODELIPROC) load("glLightModeli", userptr); glPixelMapuiv = (PFNGLPIXELMAPUIVPROC) load("glPixelMapuiv", userptr); glTexGenfv = (PFNGLTEXGENFVPROC) load("glTexGenfv", userptr); glRotated = (PFNGLROTATEDPROC) load("glRotated", userptr); glAlphaFunc = (PFNGLALPHAFUNCPROC) load("glAlphaFunc", userptr); glRects = (PFNGLRECTSPROC) load("glRects", userptr); glPolygonStipple = (PFNGLPOLYGONSTIPPLEPROC) load("glPolygonStipple", userptr); glTexImage1D = (PFNGLTEXIMAGE1DPROC) load("glTexImage1D", userptr); glColor4fv = (PFNGLCOLOR4FVPROC) load("glColor4fv", userptr); glLineStipple = (PFNGLLINESTIPPLEPROC) load("glLineStipple", userptr); glVertex4f = (PFNGLVERTEX4FPROC) load("glVertex4f", userptr); glColor3ub = (PFNGLCOLOR3UBPROC) load("glColor3ub", userptr); glNormal3f = (PFNGLNORMAL3FPROC) load("glNormal3f", userptr); glTexGeni = (PFNGLTEXGENIPROC) load("glTexGeni", userptr); glTexCoord4dv = (PFNGLTEXCOORD4DVPROC) load("glTexCoord4dv", userptr); glTexCoord3s = (PFNGLTEXCOORD3SPROC) load("glTexCoord3s", userptr); glLightf = (PFNGLLIGHTFPROC) load("glLightf", userptr); glTexGenf = (PFNGLTEXGENFPROC) load("glTexGenf", userptr); glTexCoord3fv = (PFNGLTEXCOORD3FVPROC) load("glTexCoord3fv", userptr); glIndexiv = (PFNGLINDEXIVPROC) load("glIndexiv", userptr); glRasterPos4sv = (PFNGLRASTERPOS4SVPROC) load("glRasterPos4sv", userptr); glVertex3i = (PFNGLVERTEX3IPROC) load("glVertex3i", userptr); glColor4usv = (PFNGLCOLOR4USVPROC) load("glColor4usv", userptr); glLoadIdentity = (PFNGLLOADIDENTITYPROC) load("glLoadIdentity", userptr); glIndexf = (PFNGLINDEXFPROC) load("glIndexf", userptr); glVertex2s = (PFNGLVERTEX2SPROC) load("glVertex2s", userptr); glRasterPos4s = (PFNGLRASTERPOS4SPROC) load("glRasterPos4s", userptr); glGetClipPlane = (PFNGLGETCLIPPLANEPROC) load("glGetClipPlane", userptr); glGetError = (PFNGLGETERRORPROC) load("glGetError", userptr); glTexParameterfv = (PFNGLTEXPARAMETERFVPROC) load("glTexParameterfv", userptr); glColor4ui = (PFNGLCOLOR4UIPROC) load("glColor4ui", userptr); glTexCoord4d = (PFNGLTEXCOORD4DPROC) load("glTexCoord4d", userptr); glTexParameterf = (PFNGLTEXPARAMETERFPROC) load("glTexParameterf", userptr); glTexCoord2i = (PFNGLTEXCOORD2IPROC) load("glTexCoord2i", userptr); glTexCoord4i = (PFNGLTEXCOORD4IPROC) load("glTexCoord4i", userptr); glGetTexEnvfv = (PFNGLGETTEXENVFVPROC) load("glGetTexEnvfv", userptr); glFrontFace = (PFNGLFRONTFACEPROC) load("glFrontFace", userptr); glRasterPos2i = (PFNGLRASTERPOS2IPROC) load("glRasterPos2i", userptr); glIsList = (PFNGLISLISTPROC) load("glIsList", userptr); glGetLightiv = (PFNGLGETLIGHTIVPROC) load("glGetLightiv", userptr); glTexParameteri = (PFNGLTEXPARAMETERIPROC) load("glTexParameteri", userptr); glPushAttrib = (PFNGLPUSHATTRIBPROC) load("glPushAttrib", userptr); glColor4f = (PFNGLCOLOR4FPROC) load("glColor4f", userptr); glStencilMask = (PFNGLSTENCILMASKPROC) load("glStencilMask", userptr); glEvalMesh1 = (PFNGLEVALMESH1PROC) load("glEvalMesh1", userptr); glIndexd = (PFNGLINDEXDPROC) load("glIndexd", userptr); glNormal3iv = (PFNGLNORMAL3IVPROC) load("glNormal3iv", userptr); glRasterPos4fv = (PFNGLRASTERPOS4FVPROC) load("glRasterPos4fv", userptr); glTexGeniv = (PFNGLTEXGENIVPROC) load("glTexGeniv", userptr); glPopName = (PFNGLPOPNAMEPROC) load("glPopName", userptr); glFeedbackBuffer = (PFNGLFEEDBACKBUFFERPROC) load("glFeedbackBuffer", userptr); glEvalMesh2 = (PFNGLEVALMESH2PROC) load("glEvalMesh2", userptr); glScaled = (PFNGLSCALEDPROC) load("glScaled", userptr); glPushMatrix = (PFNGLPUSHMATRIXPROC) load("glPushMatrix", userptr); glEvalCoord1f = (PFNGLEVALCOORD1FPROC) load("glEvalCoord1f", userptr); glLighti = (PFNGLLIGHTIPROC) load("glLighti", userptr); glHint = (PFNGLHINTPROC) load("glHint", userptr); glIndexMask = (PFNGLINDEXMASKPROC) load("glIndexMask", userptr); glRasterPos3d = (PFNGLRASTERPOS3DPROC) load("glRasterPos3d", userptr); glEvalCoord2fv = (PFNGLEVALCOORD2FVPROC) load("glEvalCoord2fv", userptr); glColor3b = (PFNGLCOLOR3BPROC) load("glColor3b", userptr); glMaterialfv = (PFNGLMATERIALFVPROC) load("glMaterialfv", userptr); glStencilFunc = (PFNGLSTENCILFUNCPROC) load("glStencilFunc", userptr); glGetLightfv = (PFNGLGETLIGHTFVPROC) load("glGetLightfv", userptr); glInitNames = (PFNGLINITNAMESPROC) load("glInitNames", userptr); glRasterPos4i = (PFNGLRASTERPOS4IPROC) load("glRasterPos4i", userptr); glPixelMapusv = (PFNGLPIXELMAPUSVPROC) load("glPixelMapusv", userptr); glRasterPos2s = (PFNGLRASTERPOS2SPROC) load("glRasterPos2s", userptr); glFogfv = (PFNGLFOGFVPROC) load("glFogfv", userptr); glTexCoord3iv = (PFNGLTEXCOORD3IVPROC) load("glTexCoord3iv", userptr); glMap1f = (PFNGLMAP1FPROC) load("glMap1f", userptr); glVertex3s = (PFNGLVERTEX3SPROC) load("glVertex3s", userptr); glRasterPos3f = (PFNGLRASTERPOS3FPROC) load("glRasterPos3f", userptr); glDepthFunc = (PFNGLDEPTHFUNCPROC) load("glDepthFunc", userptr); glDepthRange = (PFNGLDEPTHRANGEPROC) load("glDepthRange", userptr); glVertex4s = (PFNGLVERTEX4SPROC) load("glVertex4s", userptr); glColor3bv = (PFNGLCOLOR3BVPROC) load("glColor3bv", userptr); glColor3ubv = (PFNGLCOLOR3UBVPROC) load("glColor3ubv", userptr); glNormal3b = (PFNGLNORMAL3BPROC) load("glNormal3b", userptr); glVertex3sv = (PFNGLVERTEX3SVPROC) load("glVertex3sv", userptr); glVertex2iv = (PFNGLVERTEX2IVPROC) load("glVertex2iv", userptr); glTexCoord4sv = (PFNGLTEXCOORD4SVPROC) load("glTexCoord4sv", userptr); glMap2d = (PFNGLMAP2DPROC) load("glMap2d", userptr); glGetTexGendv = (PFNGLGETTEXGENDVPROC) load("glGetTexGendv", userptr); glTexCoord3i = (PFNGLTEXCOORD3IPROC) load("glTexCoord3i", userptr); glCallLists = (PFNGLCALLLISTSPROC) load("glCallLists", userptr); glDrawPixels = (PFNGLDRAWPIXELSPROC) load("glDrawPixels", userptr); glMap1d = (PFNGLMAP1DPROC) load("glMap1d", userptr); glEdgeFlagv = (PFNGLEDGEFLAGVPROC) load("glEdgeFlagv", userptr); glTexCoord1dv = (PFNGLTEXCOORD1DVPROC) load("glTexCoord1dv", userptr); glRectfv = (PFNGLRECTFVPROC) load("glRectfv", userptr); glVertex3iv = (PFNGLVERTEX3IVPROC) load("glVertex3iv", userptr); glMateriali = (PFNGLMATERIALIPROC) load("glMateriali", userptr); glBegin = (PFNGLBEGINPROC) load("glBegin", userptr); glTexCoord3d = (PFNGLTEXCOORD3DPROC) load("glTexCoord3d", userptr); glNewList = (PFNGLNEWLISTPROC) load("glNewList", userptr); glPixelMapfv = (PFNGLPIXELMAPFVPROC) load("glPixelMapfv", userptr); glVertex3f = (PFNGLVERTEX3FPROC) load("glVertex3f", userptr); glColor3f = (PFNGLCOLOR3FPROC) load("glColor3f", userptr); glMultMatrixd = (PFNGLMULTMATRIXDPROC) load("glMultMatrixd", userptr); glScalef = (PFNGLSCALEFPROC) load("glScalef", userptr); glRasterPos3fv = (PFNGLRASTERPOS3FVPROC) load("glRasterPos3fv", userptr); glTexCoord1iv = (PFNGLTEXCOORD1IVPROC) load("glTexCoord1iv", userptr); glGetDoublev = (PFNGLGETDOUBLEVPROC) load("glGetDoublev", userptr); glMapGrid2d = (PFNGLMAPGRID2DPROC) load("glMapGrid2d", userptr); glReadPixels = (PFNGLREADPIXELSPROC) load("glReadPixels", userptr); glColor4bv = (PFNGLCOLOR4BVPROC) load("glColor4bv", userptr); glOrtho = (PFNGLORTHOPROC) load("glOrtho", userptr); glCopyPixels = (PFNGLCOPYPIXELSPROC) load("glCopyPixels", userptr); glFogf = (PFNGLFOGFPROC) load("glFogf", userptr); glTexCoord3f = (PFNGLTEXCOORD3FPROC) load("glTexCoord3f", userptr); glColor3s = (PFNGLCOLOR3SPROC) load("glColor3s", userptr); glColor3sv = (PFNGLCOLOR3SVPROC) load("glColor3sv", userptr); glIndexfv = (PFNGLINDEXFVPROC) load("glIndexfv", userptr); glPixelZoom = (PFNGLPIXELZOOMPROC) load("glPixelZoom", userptr); glColor3uiv = (PFNGLCOLOR3UIVPROC) load("glColor3uiv", userptr); glRasterPos2dv = (PFNGLRASTERPOS2DVPROC) load("glRasterPos2dv", userptr); glEvalCoord2dv = (PFNGLEVALCOORD2DVPROC) load("glEvalCoord2dv", userptr); glMapGrid1d = (PFNGLMAPGRID1DPROC) load("glMapGrid1d", userptr); glVertex3dv = (PFNGLVERTEX3DVPROC) load("glVertex3dv", userptr); glClear = (PFNGLCLEARPROC) load("glClear", userptr); glEnable = (PFNGLENABLEPROC) load("glEnable", userptr); glSelectBuffer = (PFNGLSELECTBUFFERPROC) load("glSelectBuffer", userptr); glRasterPos3sv = (PFNGLRASTERPOS3SVPROC) load("glRasterPos3sv", userptr); glNormal3dv = (PFNGLNORMAL3DVPROC) load("glNormal3dv", userptr); glPopAttrib = (PFNGLPOPATTRIBPROC) load("glPopAttrib", userptr); glColor3iv = (PFNGLCOLOR3IVPROC) load("glColor3iv", userptr); glTexCoord2s = (PFNGLTEXCOORD2SPROC) load("glTexCoord2s", userptr); glTexEnvi = (PFNGLTEXENVIPROC) load("glTexEnvi", userptr); glTexCoord2dv = (PFNGLTEXCOORD2DVPROC) load("glTexCoord2dv", userptr); glPassThrough = (PFNGLPASSTHROUGHPROC) load("glPassThrough", userptr); glMaterialf = (PFNGLMATERIALFPROC) load("glMaterialf", userptr); glColor4b = (PFNGLCOLOR4BPROC) load("glColor4b", userptr); glColor4uiv = (PFNGLCOLOR4UIVPROC) load("glColor4uiv", userptr); glClearIndex = (PFNGLCLEARINDEXPROC) load("glClearIndex", userptr); glRotatef = (PFNGLROTATEFPROC) load("glRotatef", userptr); glFogiv = (PFNGLFOGIVPROC) load("glFogiv", userptr); glTexParameteriv = (PFNGLTEXPARAMETERIVPROC) load("glTexParameteriv", userptr); glListBase = (PFNGLLISTBASEPROC) load("glListBase", userptr); glIndexi = (PFNGLINDEXIPROC) load("glIndexi", userptr); glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC) load("glGetTexLevelParameteriv", userptr); glVertex4i = (PFNGLVERTEX4IPROC) load("glVertex4i", userptr); glGetPixelMapuiv = (PFNGLGETPIXELMAPUIVPROC) load("glGetPixelMapuiv", userptr); glTexEnvfv = (PFNGLTEXENVFVPROC) load("glTexEnvfv", userptr); glEvalCoord2f = (PFNGLEVALCOORD2FPROC) load("glEvalCoord2f", userptr); glVertex4dv = (PFNGLVERTEX4DVPROC) load("glVertex4dv", userptr); glGetTexGeniv = (PFNGLGETTEXGENIVPROC) load("glGetTexGeniv", userptr); glPointSize = (PFNGLPOINTSIZEPROC) load("glPointSize", userptr); glTranslated = (PFNGLTRANSLATEDPROC) load("glTranslated", userptr); glColor4i = (PFNGLCOLOR4IPROC) load("glColor4i", userptr); glCullFace = (PFNGLCULLFACEPROC) load("glCullFace", userptr); glGenLists = (PFNGLGENLISTSPROC) load("glGenLists", userptr); glReadBuffer = (PFNGLREADBUFFERPROC) load("glReadBuffer", userptr); glRasterPos2fv = (PFNGLRASTERPOS2FVPROC) load("glRasterPos2fv", userptr); glEnd = (PFNGLENDPROC) load("glEnd", userptr); glVertex2dv = (PFNGLVERTEX2DVPROC) load("glVertex2dv", userptr); glColor4us = (PFNGLCOLOR4USPROC) load("glColor4us", userptr); glPushName = (PFNGLPUSHNAMEPROC) load("glPushName", userptr); glShadeModel = (PFNGLSHADEMODELPROC) load("glShadeModel", userptr); glNormal3fv = (PFNGLNORMAL3FVPROC) load("glNormal3fv", userptr); glTexCoord4iv = (PFNGLTEXCOORD4IVPROC) load("glTexCoord4iv", userptr); glColor3ui = (PFNGLCOLOR3UIPROC) load("glColor3ui", userptr); glRectd = (PFNGLRECTDPROC) load("glRectd", userptr); glTexCoord4fv = (PFNGLTEXCOORD4FVPROC) load("glTexCoord4fv", userptr); glTexCoord1f = (PFNGLTEXCOORD1FPROC) load("glTexCoord1f", userptr); glEdgeFlag = (PFNGLEDGEFLAGPROC) load("glEdgeFlag", userptr); glTexEnvf = (PFNGLTEXENVFPROC) load("glTexEnvf", userptr); glMap2f = (PFNGLMAP2FPROC) load("glMap2f", userptr); glNormal3i = (PFNGLNORMAL3IPROC) load("glNormal3i", userptr); glColor3usv = (PFNGLCOLOR3USVPROC) load("glColor3usv", userptr); glRasterPos2iv = (PFNGLRASTERPOS2IVPROC) load("glRasterPos2iv", userptr); glGetIntegerv = (PFNGLGETINTEGERVPROC) load("glGetIntegerv", userptr); glRectdv = (PFNGLRECTDVPROC) load("glRectdv", userptr); glNormal3bv = (PFNGLNORMAL3BVPROC) load("glNormal3bv", userptr); glVertex2fv = (PFNGLVERTEX2FVPROC) load("glVertex2fv", userptr); glVertex2d = (PFNGLVERTEX2DPROC) load("glVertex2d", userptr); glEndList = (PFNGLENDLISTPROC) load("glEndList", userptr); glFlush = (PFNGLFLUSHPROC) load("glFlush", userptr); glPixelStorei = (PFNGLPIXELSTOREIPROC) load("glPixelStorei", userptr); glColor4ub = (PFNGLCOLOR4UBPROC) load("glColor4ub", userptr); glNormal3s = (PFNGLNORMAL3SPROC) load("glNormal3s", userptr); glColor4iv = (PFNGLCOLOR4IVPROC) load("glColor4iv", userptr); glClipPlane = (PFNGLCLIPPLANEPROC) load("glClipPlane", userptr); glTexCoord1i = (PFNGLTEXCOORD1IPROC) load("glTexCoord1i", userptr); glLightModelf = (PFNGLLIGHTMODELFPROC) load("glLightModelf", userptr); glPopMatrix = (PFNGLPOPMATRIXPROC) load("glPopMatrix", userptr); glLoadMatrixd = (PFNGLLOADMATRIXDPROC) load("glLoadMatrixd", userptr); glRasterPos3dv = (PFNGLRASTERPOS3DVPROC) load("glRasterPos3dv", userptr); glTexCoord1fv = (PFNGLTEXCOORD1FVPROC) load("glTexCoord1fv", userptr); glTexCoord2iv = (PFNGLTEXCOORD2IVPROC) load("glTexCoord2iv", userptr); glClearDepth = (PFNGLCLEARDEPTHPROC) load("glClearDepth", userptr); glTexCoord2d = (PFNGLTEXCOORD2DPROC) load("glTexCoord2d", userptr); glRasterPos4d = (PFNGLRASTERPOS4DPROC) load("glRasterPos4d", userptr); glColorMaterial = (PFNGLCOLORMATERIALPROC) load("glColorMaterial", userptr); glAccum = (PFNGLACCUMPROC) load("glAccum", userptr); glClearStencil = (PFNGLCLEARSTENCILPROC) load("glClearStencil", userptr); glLightModelfv = (PFNGLLIGHTMODELFVPROC) load("glLightModelfv", userptr); glColor3d = (PFNGLCOLOR3DPROC) load("glColor3d", userptr); glDisable = (PFNGLDISABLEPROC) load("glDisable", userptr); glFogi = (PFNGLFOGIPROC) load("glFogi", userptr); glTexEnviv = (PFNGLTEXENVIVPROC) load("glTexEnviv", userptr); glLightfv = (PFNGLLIGHTFVPROC) load("glLightfv", userptr); glDepthMask = (PFNGLDEPTHMASKPROC) load("glDepthMask", userptr); glTexImage2D = (PFNGLTEXIMAGE2DPROC) load("glTexImage2D", userptr); glVertex3fv = (PFNGLVERTEX3FVPROC) load("glVertex3fv", userptr); glVertex4fv = (PFNGLVERTEX4FVPROC) load("glVertex4fv", userptr); glLightiv = (PFNGLLIGHTIVPROC) load("glLightiv", userptr); glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC) load("glGetTexParameteriv", userptr); glTexCoord3dv = (PFNGLTEXCOORD3DVPROC) load("glTexCoord3dv", userptr); } static void load_GL_VERSION_1_1( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_1_1) return; glVertexPointer = (PFNGLVERTEXPOINTERPROC) load("glVertexPointer", userptr); glBindTexture = (PFNGLBINDTEXTUREPROC) load("glBindTexture", userptr); glGetPointerv = (PFNGLGETPOINTERVPROC) load("glGetPointerv", userptr); glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC) load("glTexSubImage1D", userptr); glEdgeFlagPointer = (PFNGLEDGEFLAGPOINTERPROC) load("glEdgeFlagPointer", userptr); glIndexPointer = (PFNGLINDEXPOINTERPROC) load("glIndexPointer", userptr); glDrawElements = (PFNGLDRAWELEMENTSPROC) load("glDrawElements", userptr); glNormalPointer = (PFNGLNORMALPOINTERPROC) load("glNormalPointer", userptr); glIndexub = (PFNGLINDEXUBPROC) load("glIndexub", userptr); glDrawArrays = (PFNGLDRAWARRAYSPROC) load("glDrawArrays", userptr); glDeleteTextures = (PFNGLDELETETEXTURESPROC) load("glDeleteTextures", userptr); glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC) load("glCopyTexImage2D", userptr); glGenTextures = (PFNGLGENTEXTURESPROC) load("glGenTextures", userptr); glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC) load("glTexSubImage2D", userptr); glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC) load("glCopyTexImage1D", userptr); glIndexubv = (PFNGLINDEXUBVPROC) load("glIndexubv", userptr); glPopClientAttrib = (PFNGLPOPCLIENTATTRIBPROC) load("glPopClientAttrib", userptr); glAreTexturesResident = (PFNGLARETEXTURESRESIDENTPROC) load("glAreTexturesResident", userptr); glPushClientAttrib = (PFNGLPUSHCLIENTATTRIBPROC) load("glPushClientAttrib", userptr); glDisableClientState = (PFNGLDISABLECLIENTSTATEPROC) load("glDisableClientState", userptr); glEnableClientState = (PFNGLENABLECLIENTSTATEPROC) load("glEnableClientState", userptr); glIsTexture = (PFNGLISTEXTUREPROC) load("glIsTexture", userptr); glArrayElement = (PFNGLARRAYELEMENTPROC) load("glArrayElement", userptr); glTexCoordPointer = (PFNGLTEXCOORDPOINTERPROC) load("glTexCoordPointer", userptr); glInterleavedArrays = (PFNGLINTERLEAVEDARRAYSPROC) load("glInterleavedArrays", userptr); glPolygonOffset = (PFNGLPOLYGONOFFSETPROC) load("glPolygonOffset", userptr); glPrioritizeTextures = (PFNGLPRIORITIZETEXTURESPROC) load("glPrioritizeTextures", userptr); glColorPointer = (PFNGLCOLORPOINTERPROC) load("glColorPointer", userptr); glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC) load("glCopyTexSubImage1D", userptr); glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC) load("glCopyTexSubImage2D", userptr); } static void load_GL_VERSION_1_2( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_1_2) return; glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC) load("glDrawRangeElements", userptr); glTexImage3D = (PFNGLTEXIMAGE3DPROC) load("glTexImage3D", userptr); glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC) load("glCopyTexSubImage3D", userptr); glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC) load("glTexSubImage3D", userptr); } static void load_GL_VERSION_1_3( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_1_3) return; glMultiTexCoord4f = (PFNGLMULTITEXCOORD4FPROC) load("glMultiTexCoord4f", userptr); glLoadTransposeMatrixf = (PFNGLLOADTRANSPOSEMATRIXFPROC) load("glLoadTransposeMatrixf", userptr); glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC) load("glCompressedTexImage3D", userptr); glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC) load("glClientActiveTexture", userptr); glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) load("glCompressedTexSubImage2D", userptr); glMultiTexCoord2s = (PFNGLMULTITEXCOORD2SPROC) load("glMultiTexCoord2s", userptr); glMultiTexCoord4i = (PFNGLMULTITEXCOORD4IPROC) load("glMultiTexCoord4i", userptr); glLoadTransposeMatrixd = (PFNGLLOADTRANSPOSEMATRIXDPROC) load("glLoadTransposeMatrixd", userptr); glMultiTexCoord2i = (PFNGLMULTITEXCOORD2IPROC) load("glMultiTexCoord2i", userptr); glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) load("glCompressedTexSubImage3D", userptr); glMultiTexCoord4dv = (PFNGLMULTITEXCOORD4DVPROC) load("glMultiTexCoord4dv", userptr); glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC) load("glCompressedTexImage1D", userptr); glMultiTexCoord3s = (PFNGLMULTITEXCOORD3SPROC) load("glMultiTexCoord3s", userptr); glMultiTexCoord1f = (PFNGLMULTITEXCOORD1FPROC) load("glMultiTexCoord1f", userptr); glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC) load("glGetCompressedTexImage", userptr); glMultiTexCoord1i = (PFNGLMULTITEXCOORD1IPROC) load("glMultiTexCoord1i", userptr); glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC) load("glMultiTexCoord3f", userptr); glMultiTexCoord3dv = (PFNGLMULTITEXCOORD3DVPROC) load("glMultiTexCoord3dv", userptr); glMultTransposeMatrixd = (PFNGLMULTTRANSPOSEMATRIXDPROC) load("glMultTransposeMatrixd", userptr); glActiveTexture = (PFNGLACTIVETEXTUREPROC) load("glActiveTexture", userptr); glMultiTexCoord1dv = (PFNGLMULTITEXCOORD1DVPROC) load("glMultiTexCoord1dv", userptr); glMultiTexCoord3sv = (PFNGLMULTITEXCOORD3SVPROC) load("glMultiTexCoord3sv", userptr); glMultiTexCoord3d = (PFNGLMULTITEXCOORD3DPROC) load("glMultiTexCoord3d", userptr); glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC) load("glCompressedTexImage2D", userptr); glMultiTexCoord1d = (PFNGLMULTITEXCOORD1DPROC) load("glMultiTexCoord1d", userptr); glMultiTexCoord4d = (PFNGLMULTITEXCOORD4DPROC) load("glMultiTexCoord4d", userptr); glMultiTexCoord1sv = (PFNGLMULTITEXCOORD1SVPROC) load("glMultiTexCoord1sv", userptr); glMultiTexCoord4sv = (PFNGLMULTITEXCOORD4SVPROC) load("glMultiTexCoord4sv", userptr); glMultiTexCoord3i = (PFNGLMULTITEXCOORD3IPROC) load("glMultiTexCoord3i", userptr); glMultiTexCoord1iv = (PFNGLMULTITEXCOORD1IVPROC) load("glMultiTexCoord1iv", userptr); glMultTransposeMatrixf = (PFNGLMULTTRANSPOSEMATRIXFPROC) load("glMultTransposeMatrixf", userptr); glMultiTexCoord2fv = (PFNGLMULTITEXCOORD2FVPROC) load("glMultiTexCoord2fv", userptr); glMultiTexCoord4s = (PFNGLMULTITEXCOORD4SPROC) load("glMultiTexCoord4s", userptr); glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC) load("glMultiTexCoord2f", userptr); glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) load("glCompressedTexSubImage1D", userptr); glMultiTexCoord2dv = (PFNGLMULTITEXCOORD2DVPROC) load("glMultiTexCoord2dv", userptr); glMultiTexCoord2sv = (PFNGLMULTITEXCOORD2SVPROC) load("glMultiTexCoord2sv", userptr); glMultiTexCoord3iv = (PFNGLMULTITEXCOORD3IVPROC) load("glMultiTexCoord3iv", userptr); glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC) load("glSampleCoverage", userptr); glMultiTexCoord2iv = (PFNGLMULTITEXCOORD2IVPROC) load("glMultiTexCoord2iv", userptr); glMultiTexCoord2d = (PFNGLMULTITEXCOORD2DPROC) load("glMultiTexCoord2d", userptr); glMultiTexCoord1s = (PFNGLMULTITEXCOORD1SPROC) load("glMultiTexCoord1s", userptr); glMultiTexCoord4fv = (PFNGLMULTITEXCOORD4FVPROC) load("glMultiTexCoord4fv", userptr); glMultiTexCoord3fv = (PFNGLMULTITEXCOORD3FVPROC) load("glMultiTexCoord3fv", userptr); glMultiTexCoord4iv = (PFNGLMULTITEXCOORD4IVPROC) load("glMultiTexCoord4iv", userptr); glMultiTexCoord1fv = (PFNGLMULTITEXCOORD1FVPROC) load("glMultiTexCoord1fv", userptr); } static void load_GL_VERSION_1_4( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_1_4) return; glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC) load("glMultiDrawElements", userptr); glWindowPos3sv = (PFNGLWINDOWPOS3SVPROC) load("glWindowPos3sv", userptr); glSecondaryColor3us = (PFNGLSECONDARYCOLOR3USPROC) load("glSecondaryColor3us", userptr); glSecondaryColor3iv = (PFNGLSECONDARYCOLOR3IVPROC) load("glSecondaryColor3iv", userptr); glPointParameterf = (PFNGLPOINTPARAMETERFPROC) load("glPointParameterf", userptr); glSecondaryColor3s = (PFNGLSECONDARYCOLOR3SPROC) load("glSecondaryColor3s", userptr); glSecondaryColor3sv = (PFNGLSECONDARYCOLOR3SVPROC) load("glSecondaryColor3sv", userptr); glSecondaryColor3uiv = (PFNGLSECONDARYCOLOR3UIVPROC) load("glSecondaryColor3uiv", userptr); glWindowPos2d = (PFNGLWINDOWPOS2DPROC) load("glWindowPos2d", userptr); glSecondaryColor3ubv = (PFNGLSECONDARYCOLOR3UBVPROC) load("glSecondaryColor3ubv", userptr); glWindowPos3dv = (PFNGLWINDOWPOS3DVPROC) load("glWindowPos3dv", userptr); glWindowPos2iv = (PFNGLWINDOWPOS2IVPROC) load("glWindowPos2iv", userptr); glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC) load("glMultiDrawArrays", userptr); glSecondaryColor3bv = (PFNGLSECONDARYCOLOR3BVPROC) load("glSecondaryColor3bv", userptr); glSecondaryColor3ui = (PFNGLSECONDARYCOLOR3UIPROC) load("glSecondaryColor3ui", userptr); glWindowPos2f = (PFNGLWINDOWPOS2FPROC) load("glWindowPos2f", userptr); glWindowPos2s = (PFNGLWINDOWPOS2SPROC) load("glWindowPos2s", userptr); glSecondaryColor3fv = (PFNGLSECONDARYCOLOR3FVPROC) load("glSecondaryColor3fv", userptr); glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC) load("glPointParameteriv", userptr); glSecondaryColorPointer = (PFNGLSECONDARYCOLORPOINTERPROC) load("glSecondaryColorPointer", userptr); glBlendColor = (PFNGLBLENDCOLORPROC) load("glBlendColor", userptr); glWindowPos2dv = (PFNGLWINDOWPOS2DVPROC) load("glWindowPos2dv", userptr); glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC) load("glBlendFuncSeparate", userptr); glPointParameteri = (PFNGLPOINTPARAMETERIPROC) load("glPointParameteri", userptr); glFogCoordf = (PFNGLFOGCOORDFPROC) load("glFogCoordf", userptr); glSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC) load("glSecondaryColor3f", userptr); glSecondaryColor3i = (PFNGLSECONDARYCOLOR3IPROC) load("glSecondaryColor3i", userptr); glSecondaryColor3ub = (PFNGLSECONDARYCOLOR3UBPROC) load("glSecondaryColor3ub", userptr); glWindowPos3i = (PFNGLWINDOWPOS3IPROC) load("glWindowPos3i", userptr); glWindowPos3f = (PFNGLWINDOWPOS3FPROC) load("glWindowPos3f", userptr); glSecondaryColor3b = (PFNGLSECONDARYCOLOR3BPROC) load("glSecondaryColor3b", userptr); glWindowPos3iv = (PFNGLWINDOWPOS3IVPROC) load("glWindowPos3iv", userptr); glSecondaryColor3d = (PFNGLSECONDARYCOLOR3DPROC) load("glSecondaryColor3d", userptr); glFogCoordd = (PFNGLFOGCOORDDPROC) load("glFogCoordd", userptr); glWindowPos3fv = (PFNGLWINDOWPOS3FVPROC) load("glWindowPos3fv", userptr); glWindowPos2i = (PFNGLWINDOWPOS2IPROC) load("glWindowPos2i", userptr); glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC) load("glPointParameterfv", userptr); glFogCoordfv = (PFNGLFOGCOORDFVPROC) load("glFogCoordfv", userptr); glSecondaryColor3usv = (PFNGLSECONDARYCOLOR3USVPROC) load("glSecondaryColor3usv", userptr); glWindowPos2fv = (PFNGLWINDOWPOS2FVPROC) load("glWindowPos2fv", userptr); glBlendEquation = (PFNGLBLENDEQUATIONPROC) load("glBlendEquation", userptr); glWindowPos2sv = (PFNGLWINDOWPOS2SVPROC) load("glWindowPos2sv", userptr); glSecondaryColor3dv = (PFNGLSECONDARYCOLOR3DVPROC) load("glSecondaryColor3dv", userptr); glWindowPos3s = (PFNGLWINDOWPOS3SPROC) load("glWindowPos3s", userptr); glWindowPos3d = (PFNGLWINDOWPOS3DPROC) load("glWindowPos3d", userptr); glFogCoorddv = (PFNGLFOGCOORDDVPROC) load("glFogCoorddv", userptr); glFogCoordPointer = (PFNGLFOGCOORDPOINTERPROC) load("glFogCoordPointer", userptr); } static void load_GL_VERSION_1_5( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_1_5) return; glMapBuffer = (PFNGLMAPBUFFERPROC) load("glMapBuffer", userptr); glBufferSubData = (PFNGLBUFFERSUBDATAPROC) load("glBufferSubData", userptr); glBeginQuery = (PFNGLBEGINQUERYPROC) load("glBeginQuery", userptr); glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC) load("glGetBufferParameteriv", userptr); glGenQueries = (PFNGLGENQUERIESPROC) load("glGenQueries", userptr); glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC) load("glGetQueryObjectuiv", userptr); glIsBuffer = (PFNGLISBUFFERPROC) load("glIsBuffer", userptr); glGetQueryiv = (PFNGLGETQUERYIVPROC) load("glGetQueryiv", userptr); glEndQuery = (PFNGLENDQUERYPROC) load("glEndQuery", userptr); glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC) load("glGetQueryObjectiv", userptr); glGenBuffers = (PFNGLGENBUFFERSPROC) load("glGenBuffers", userptr); glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC) load("glGetBufferSubData", userptr); glDeleteBuffers = (PFNGLDELETEBUFFERSPROC) load("glDeleteBuffers", userptr); glIsQuery = (PFNGLISQUERYPROC) load("glIsQuery", userptr); glBindBuffer = (PFNGLBINDBUFFERPROC) load("glBindBuffer", userptr); glDeleteQueries = (PFNGLDELETEQUERIESPROC) load("glDeleteQueries", userptr); glUnmapBuffer = (PFNGLUNMAPBUFFERPROC) load("glUnmapBuffer", userptr); glBufferData = (PFNGLBUFFERDATAPROC) load("glBufferData", userptr); glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC) load("glGetBufferPointerv", userptr); } static void load_GL_VERSION_2_0( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_2_0) return; glUniform2i = (PFNGLUNIFORM2IPROC) load("glUniform2i", userptr); glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC) load("glVertexAttrib2fv", userptr); glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC) load("glUniformMatrix3fv", userptr); glUniform2iv = (PFNGLUNIFORM2IVPROC) load("glUniform2iv", userptr); glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC) load("glGetActiveUniform", userptr); glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) load("glUniformMatrix4fv", userptr); glDetachShader = (PFNGLDETACHSHADERPROC) load("glDetachShader", userptr); glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC) load("glVertexAttrib4s", userptr); glAttachShader = (PFNGLATTACHSHADERPROC) load("glAttachShader", userptr); glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC) load("glVertexAttrib4Nuiv", userptr); glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC) load("glGetAttribLocation", userptr); glUniform2f = (PFNGLUNIFORM2FPROC) load("glUniform2f", userptr); glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC) load("glVertexAttrib1s", userptr); glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC) load("glVertexAttrib4Nsv", userptr); glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC) load("glVertexAttrib1f", userptr); glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC) load("glVertexAttrib3sv", userptr); glGetUniformiv = (PFNGLGETUNIFORMIVPROC) load("glGetUniformiv", userptr); glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC) load("glVertexAttrib4sv", userptr); glCreateShader = (PFNGLCREATESHADERPROC) load("glCreateShader", userptr); glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) load("glStencilOpSeparate", userptr); glUniform3f = (PFNGLUNIFORM3FPROC) load("glUniform3f", userptr); glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC) load("glVertexAttrib4usv", userptr); glCreateProgram = (PFNGLCREATEPROGRAMPROC) load("glCreateProgram", userptr); glUniform4f = (PFNGLUNIFORM4FPROC) load("glUniform4f", userptr); glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) load("glGetShaderInfoLog", userptr); glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC) load("glVertexAttrib2d", userptr); glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC) load("glVertexAttrib2f", userptr); glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC) load("glUniformMatrix2fv", userptr); glUniform4fv = (PFNGLUNIFORM4FVPROC) load("glUniform4fv", userptr); glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC) load("glVertexAttrib4d", userptr); glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC) load("glVertexAttrib1fv", userptr); glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC) load("glVertexAttrib4Nubv", userptr); glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC) load("glVertexAttrib1sv", userptr); glDrawBuffers = (PFNGLDRAWBUFFERSPROC) load("glDrawBuffers", userptr); glGetShaderSource = (PFNGLGETSHADERSOURCEPROC) load("glGetShaderSource", userptr); glUniform3i = (PFNGLUNIFORM3IPROC) load("glUniform3i", userptr); glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC) load("glVertexAttrib4bv", userptr); glIsShader = (PFNGLISSHADERPROC) load("glIsShader", userptr); glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC) load("glVertexAttrib4iv", userptr); glIsProgram = (PFNGLISPROGRAMPROC) load("glIsProgram", userptr); glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC) load("glVertexAttrib1d", userptr); glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC) load("glVertexAttrib2dv", userptr); glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC) load("glVertexAttrib3f", userptr); glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC) load("glVertexAttrib3fv", userptr); glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC) load("glVertexAttrib4Nusv", userptr); glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC) load("glVertexAttrib4Nub", userptr); glLinkProgram = (PFNGLLINKPROGRAMPROC) load("glLinkProgram", userptr); glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC) load("glVertexAttrib2s", userptr); glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC) load("glVertexAttrib3dv", userptr); glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC) load("glVertexAttrib4ubv", userptr); glUniform1i = (PFNGLUNIFORM1IPROC) load("glUniform1i", userptr); glCompileShader = (PFNGLCOMPILESHADERPROC) load("glCompileShader", userptr); glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC) load("glBlendEquationSeparate", userptr); glDeleteShader = (PFNGLDELETESHADERPROC) load("glDeleteShader", userptr); glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC) load("glGetVertexAttribfv", userptr); glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC) load("glGetVertexAttribiv", userptr); glShaderSource = (PFNGLSHADERSOURCEPROC) load("glShaderSource", userptr); glUniform1f = (PFNGLUNIFORM1FPROC) load("glUniform1f", userptr); glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) load("glStencilFuncSeparate", userptr); glUniform1iv = (PFNGLUNIFORM1IVPROC) load("glUniform1iv", userptr); glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC) load("glVertexAttrib4fv", userptr); glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC) load("glVertexAttrib4dv", userptr); glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC) load("glGetActiveAttrib", userptr); glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC) load("glEnableVertexAttribArray", userptr); glUniform1fv = (PFNGLUNIFORM1FVPROC) load("glUniform1fv", userptr); glUniform2fv = (PFNGLUNIFORM2FVPROC) load("glUniform2fv", userptr); glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC) load("glVertexAttrib2sv", userptr); glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC) load("glVertexAttrib4Nbv", userptr); glUniform3fv = (PFNGLUNIFORM3FVPROC) load("glUniform3fv", userptr); glGetShaderiv = (PFNGLGETSHADERIVPROC) load("glGetShaderiv", userptr); glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) load("glVertexAttribPointer", userptr); glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC) load("glGetVertexAttribPointerv", userptr); glDeleteProgram = (PFNGLDELETEPROGRAMPROC) load("glDeleteProgram", userptr); glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC) load("glVertexAttrib3s", userptr); glValidateProgram = (PFNGLVALIDATEPROGRAMPROC) load("glValidateProgram", userptr); glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC) load("glVertexAttrib4uiv", userptr); glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC) load("glGetVertexAttribdv", userptr); glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) load("glGetProgramInfoLog", userptr); glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) load("glStencilMaskSeparate", userptr); glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC) load("glBindAttribLocation", userptr); glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC) load("glGetUniformLocation", userptr); glUseProgram = (PFNGLUSEPROGRAMPROC) load("glUseProgram", userptr); glGetProgramiv = (PFNGLGETPROGRAMIVPROC) load("glGetProgramiv", userptr); glUniform3iv = (PFNGLUNIFORM3IVPROC) load("glUniform3iv", userptr); glUniform4i = (PFNGLUNIFORM4IPROC) load("glUniform4i", userptr); glGetUniformfv = (PFNGLGETUNIFORMFVPROC) load("glGetUniformfv", userptr); glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC) load("glVertexAttrib4Niv", userptr); glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) load("glDisableVertexAttribArray", userptr); glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC) load("glGetAttachedShaders", userptr); glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC) load("glVertexAttrib3d", userptr); glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC) load("glVertexAttrib4f", userptr); glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC) load("glVertexAttrib1dv", userptr); glUniform4iv = (PFNGLUNIFORM4IVPROC) load("glUniform4iv", userptr); } static void load_GL_VERSION_2_1( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_2_1) return; glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC) load("glUniformMatrix3x2fv", userptr); glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC) load("glUniformMatrix2x4fv", userptr); glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC) load("glUniformMatrix4x2fv", userptr); glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC) load("glUniformMatrix3x4fv", userptr); glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC) load("glUniformMatrix2x3fv", userptr); glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC) load("glUniformMatrix4x3fv", userptr); } static void load_GL_VERSION_3_0( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_3_0) return; glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC) load("glMapBufferRange", userptr); glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC) load("glTexParameterIuiv", userptr); glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC) load("glVertexAttribI4uiv", userptr); glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC) load("glBindFragDataLocation", userptr); glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC) load("glClearBufferuiv", userptr); glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC) load("glGenVertexArrays", userptr); glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC) load("glVertexAttribI4usv", userptr); glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC) load("glVertexAttribI1iv", userptr); glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC) load("glTexParameterIiv", userptr); glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC) load("glVertexAttribI3ui", userptr); glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) load("glGenFramebuffers", userptr); glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC) load("glVertexAttribI4ui", userptr); glUniform4uiv = (PFNGLUNIFORM4UIVPROC) load("glUniform4uiv", userptr); glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC) load("glEndTransformFeedback", userptr); glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC) load("glVertexAttribI1uiv", userptr); glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC) load("glGetTexParameterIuiv", userptr); glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC) load("glEndConditionalRender", userptr); glColorMaski = (PFNGLCOLORMASKIPROC) load("glColorMaski", userptr); glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC) load("glVertexAttribI4bv", userptr); glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC) load("glVertexAttribI4sv", userptr); glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) load("glIsRenderbuffer", userptr); glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC) load("glFramebufferTexture1D", userptr); glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC) load("glGetVertexAttribIiv", userptr); glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC) load("glVertexAttribI1ui", userptr); glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC) load("glVertexAttribI2uiv", userptr); glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) load("glDeleteFramebuffers", userptr); glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) load("glCheckFramebufferStatus", userptr); glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC) load("glVertexAttribI3uiv", userptr); glClearBufferiv = (PFNGLCLEARBUFFERIVPROC) load("glClearBufferiv", userptr); glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC) load("glVertexAttribI4ubv", userptr); glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) load("glFramebufferRenderbuffer", userptr); glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC) load("glVertexAttribIPointer", userptr); glClearBufferfi = (PFNGLCLEARBUFFERFIPROC) load("glClearBufferfi", userptr); glBindBufferBase = (PFNGLBINDBUFFERBASEPROC) load("glBindBufferBase", userptr); glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC) load("glVertexAttribI1i", userptr); glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) load("glBindFramebuffer", userptr); glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC) load("glBeginConditionalRender", userptr); glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) load("glGenerateMipmap", userptr); glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) load("glBindRenderbuffer", userptr); glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) load("glDeleteRenderbuffers", userptr); glUniform2ui = (PFNGLUNIFORM2UIPROC) load("glUniform2ui", userptr); glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC) load("glDeleteVertexArrays", userptr); glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) load("glRenderbufferStorageMultisample", userptr); glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC) load("glGetBooleani_v", userptr); glEnablei = (PFNGLENABLEIPROC) load("glEnablei", userptr); glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) load("glFramebufferTexture2D", userptr); glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC) load("glGetUniformuiv", userptr); glUniform3ui = (PFNGLUNIFORM3UIPROC) load("glUniform3ui", userptr); glClampColor = (PFNGLCLAMPCOLORPROC) load("glClampColor", userptr); glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC) load("glGetVertexAttribIuiv", userptr); glUniform1ui = (PFNGLUNIFORM1UIPROC) load("glUniform1ui", userptr); glIsVertexArray = (PFNGLISVERTEXARRAYPROC) load("glIsVertexArray", userptr); glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC) load("glBeginTransformFeedback", userptr); glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) load("glRenderbufferStorage", userptr); glDisablei = (PFNGLDISABLEIPROC) load("glDisablei", userptr); glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC) load("glGetTexParameterIiv", userptr); glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC) load("glVertexAttribI2i", userptr); glIsEnabledi = (PFNGLISENABLEDIPROC) load("glIsEnabledi", userptr); glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC) load("glVertexAttribI4iv", userptr); glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) load("glGenRenderbuffers", userptr); glGetStringi = (PFNGLGETSTRINGIPROC) load("glGetStringi", userptr); glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC) load("glTransformFeedbackVaryings", userptr); glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load("glGetFramebufferAttachmentParameteriv", userptr); glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) load("glBindBufferRange", userptr); glUniform3uiv = (PFNGLUNIFORM3UIVPROC) load("glUniform3uiv", userptr); glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC) load("glVertexAttribI2iv", userptr); glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC) load("glFlushMappedBufferRange", userptr); glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC) load("glVertexAttribI2ui", userptr); glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC) load("glBindVertexArray", userptr); glUniform2uiv = (PFNGLUNIFORM2UIVPROC) load("glUniform2uiv", userptr); glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC) load("glVertexAttribI3iv", userptr); glUniform1uiv = (PFNGLUNIFORM1UIVPROC) load("glUniform1uiv", userptr); glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC) load("glBlitFramebuffer", userptr); glClearBufferfv = (PFNGLCLEARBUFFERFVPROC) load("glClearBufferfv", userptr); glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) load("glIsFramebuffer", userptr); glUniform4ui = (PFNGLUNIFORM4UIPROC) load("glUniform4ui", userptr); glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) load("glGetIntegeri_v", userptr); glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC) load("glVertexAttribI4i", userptr); glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC) load("glVertexAttribI3i", userptr); glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC) load("glGetFragDataLocation", userptr); glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) load("glGetTransformFeedbackVarying", userptr); glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC) load("glFramebufferTextureLayer", userptr); glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC) load("glFramebufferTexture3D", userptr); glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) load("glGetRenderbufferParameteriv", userptr); } static void load_GL_VERSION_3_1( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_3_1) return; glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC) load("glDrawArraysInstanced", userptr); glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) load("glBindBufferRange", userptr); glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC) load("glGetActiveUniformName", userptr); glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC) load("glGetUniformBlockIndex", userptr); glBindBufferBase = (PFNGLBINDBUFFERBASEPROC) load("glBindBufferBase", userptr); glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC) load("glGetActiveUniformBlockiv", userptr); glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC) load("glCopyBufferSubData", userptr); glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC) load("glGetUniformIndices", userptr); glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) load("glGetActiveUniformBlockName", userptr); glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) load("glGetIntegeri_v", userptr); glTexBuffer = (PFNGLTEXBUFFERPROC) load("glTexBuffer", userptr); glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC) load("glUniformBlockBinding", userptr); glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC) load("glDrawElementsInstanced", userptr); glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC) load("glGetActiveUniformsiv", userptr); glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC) load("glPrimitiveRestartIndex", userptr); } static void load_GL_VERSION_3_2( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_3_2) return; glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) load("glDrawElementsInstancedBaseVertex", userptr); glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC) load("glGetMultisamplefv", userptr); glGetInteger64v = (PFNGLGETINTEGER64VPROC) load("glGetInteger64v", userptr); glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC) load("glGetInteger64i_v", userptr); glGetSynciv = (PFNGLGETSYNCIVPROC) load("glGetSynciv", userptr); glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) load("glDrawRangeElementsBaseVertex", userptr); glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC) load("glFramebufferTexture", userptr); glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC) load("glGetBufferParameteri64v", userptr); glSampleMaski = (PFNGLSAMPLEMASKIPROC) load("glSampleMaski", userptr); glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC) load("glTexImage3DMultisample", userptr); glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) load("glMultiDrawElementsBaseVertex", userptr); glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC) load("glClientWaitSync", userptr); glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC) load("glProvokingVertex", userptr); glWaitSync = (PFNGLWAITSYNCPROC) load("glWaitSync", userptr); glDeleteSync = (PFNGLDELETESYNCPROC) load("glDeleteSync", userptr); glIsSync = (PFNGLISSYNCPROC) load("glIsSync", userptr); glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) load("glTexImage2DMultisample", userptr); glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC) load("glDrawElementsBaseVertex", userptr); glFenceSync = (PFNGLFENCESYNCPROC) load("glFenceSync", userptr); } static void load_GL_VERSION_3_3( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_3_3) return; glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC) load("glSamplerParameterf", userptr); glGenSamplers = (PFNGLGENSAMPLERSPROC) load("glGenSamplers", userptr); glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC) load("glVertexAttribDivisor", userptr); glNormalP3uiv = (PFNGLNORMALP3UIVPROC) load("glNormalP3uiv", userptr); glNormalP3ui = (PFNGLNORMALP3UIPROC) load("glNormalP3ui", userptr); glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC) load("glTexCoordP1uiv", userptr); glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC) load("glVertexAttribP1ui", userptr); glVertexP2uiv = (PFNGLVERTEXP2UIVPROC) load("glVertexP2uiv", userptr); glVertexP3uiv = (PFNGLVERTEXP3UIVPROC) load("glVertexP3uiv", userptr); glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC) load("glVertexAttribP3uiv", userptr); glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC) load("glSamplerParameterIuiv", userptr); glVertexP2ui = (PFNGLVERTEXP2UIPROC) load("glVertexP2ui", userptr); glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC) load("glTexCoordP2uiv", userptr); glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC) load("glVertexAttribP1uiv", userptr); glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC) load("glSamplerParameteri", userptr); glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC) load("glMultiTexCoordP3ui", userptr); glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC) load("glGetQueryObjecti64v", userptr); glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC) load("glGetSamplerParameterIiv", userptr); glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC) load("glSamplerParameterfv", userptr); glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC) load("glMultiTexCoordP2ui", userptr); glVertexP3ui = (PFNGLVERTEXP3UIPROC) load("glVertexP3ui", userptr); glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC) load("glTexCoordP2ui", userptr); glColorP4uiv = (PFNGLCOLORP4UIVPROC) load("glColorP4uiv", userptr); glBindSampler = (PFNGLBINDSAMPLERPROC) load("glBindSampler", userptr); glVertexP4uiv = (PFNGLVERTEXP4UIVPROC) load("glVertexP4uiv", userptr); glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC) load("glVertexAttribP3ui", userptr); glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC) load("glGetSamplerParameterIuiv", userptr); glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) load("glBindFragDataLocationIndexed", userptr); glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC) load("glMultiTexCoordP4uiv", userptr); glIsSampler = (PFNGLISSAMPLERPROC) load("glIsSampler", userptr); glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC) load("glGetSamplerParameterfv", userptr); glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC) load("glTexCoordP3ui", userptr); glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC) load("glVertexAttribP4uiv", userptr); glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC) load("glSecondaryColorP3uiv", userptr); glQueryCounter = (PFNGLQUERYCOUNTERPROC) load("glQueryCounter", userptr); glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC) load("glGetQueryObjectui64v", userptr); glColorP3uiv = (PFNGLCOLORP3UIVPROC) load("glColorP3uiv", userptr); glColorP4ui = (PFNGLCOLORP4UIPROC) load("glColorP4ui", userptr); glVertexP4ui = (PFNGLVERTEXP4UIPROC) load("glVertexP4ui", userptr); glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC) load("glGetSamplerParameteriv", userptr); glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC) load("glMultiTexCoordP2uiv", userptr); glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC) load("glSamplerParameteriv", userptr); glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC) load("glTexCoordP3uiv", userptr); glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC) load("glTexCoordP4ui", userptr); glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC) load("glMultiTexCoordP1ui", userptr); glColorP3ui = (PFNGLCOLORP3UIPROC) load("glColorP3ui", userptr); glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC) load("glMultiTexCoordP1uiv", userptr); glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC) load("glMultiTexCoordP4ui", userptr); glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC) load("glVertexAttribP2ui", userptr); glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC) load("glSecondaryColorP3ui", userptr); glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC) load("glTexCoordP1ui", userptr); glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC) load("glSamplerParameterIiv", userptr); glDeleteSamplers = (PFNGLDELETESAMPLERSPROC) load("glDeleteSamplers", userptr); glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC) load("glVertexAttribP2uiv", userptr); glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC) load("glMultiTexCoordP3uiv", userptr); glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC) load("glVertexAttribP4ui", userptr); glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC) load("glTexCoordP4uiv", userptr); glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC) load("glGetFragDataIndex", userptr); } static void load_GL_VERSION_4_0( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_4_0) return; glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC) load("glBeginQueryIndexed", userptr); glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC) load("glPauseTransformFeedback", userptr); glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC) load("glUniformMatrix3x4dv", userptr); glGetUniformdv = (PFNGLGETUNIFORMDVPROC) load("glGetUniformdv", userptr); glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC) load("glUniformSubroutinesuiv", userptr); glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC) load("glEndQueryIndexed", userptr); glUniform3dv = (PFNGLUNIFORM3DVPROC) load("glUniform3dv", userptr); glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC) load("glGetProgramStageiv", userptr); glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC) load("glBlendFuncSeparatei", userptr); glBlendEquationi = (PFNGLBLENDEQUATIONIPROC) load("glBlendEquationi", userptr); glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC) load("glMinSampleShading", userptr); glUniform4d = (PFNGLUNIFORM4DPROC) load("glUniform4d", userptr); glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC) load("glUniformMatrix3dv", userptr); glUniform3d = (PFNGLUNIFORM3DPROC) load("glUniform3d", userptr); glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC) load("glGetActiveSubroutineName", userptr); glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) load("glDrawTransformFeedbackStream", userptr); glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC) load("glPatchParameterfv", userptr); glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC) load("glUniformMatrix4x2dv", userptr); glUniform1dv = (PFNGLUNIFORM1DVPROC) load("glUniform1dv", userptr); glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC) load("glDrawArraysIndirect", userptr); glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC) load("glDrawTransformFeedback", userptr); glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC) load("glGetUniformSubroutineuiv", userptr); glUniform4dv = (PFNGLUNIFORM4DVPROC) load("glUniform4dv", userptr); glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC) load("glBlendEquationSeparatei", userptr); glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) load("glGetSubroutineUniformLocation", userptr); glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC) load("glUniformMatrix2dv", userptr); glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC) load("glUniformMatrix3x2dv", userptr); glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC) load("glIsTransformFeedback", userptr); glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC) load("glDeleteTransformFeedbacks", userptr); glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) load("glGetActiveSubroutineUniformName", userptr); glUniform2d = (PFNGLUNIFORM2DPROC) load("glUniform2d", userptr); glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC) load("glGenTransformFeedbacks", userptr); glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC) load("glUniformMatrix4x3dv", userptr); glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC) load("glUniformMatrix2x4dv", userptr); glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) load("glGetActiveSubroutineUniformiv", userptr); glBlendFunci = (PFNGLBLENDFUNCIPROC) load("glBlendFunci", userptr); glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC) load("glUniformMatrix2x3dv", userptr); glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC) load("glGetQueryIndexediv", userptr); glUniform2dv = (PFNGLUNIFORM2DVPROC) load("glUniform2dv", userptr); glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC) load("glGetSubroutineIndex", userptr); glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC) load("glResumeTransformFeedback", userptr); glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC) load("glBindTransformFeedback", userptr); glUniform1d = (PFNGLUNIFORM1DPROC) load("glUniform1d", userptr); glPatchParameteri = (PFNGLPATCHPARAMETERIPROC) load("glPatchParameteri", userptr); glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC) load("glDrawElementsIndirect", userptr); glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC) load("glUniformMatrix4dv", userptr); } static void load_GL_VERSION_4_1( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_4_1) return; glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC) load("glGetDoublei_v", userptr); glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC) load("glProgramUniform4d", userptr); glGetFloati_v = (PFNGLGETFLOATI_VPROC) load("glGetFloati_v", userptr); glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC) load("glIsProgramPipeline", userptr); glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC) load("glGetProgramBinary", userptr); glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC) load("glDepthRangeArrayv", userptr); glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC) load("glProgramUniform1iv", userptr); glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) load("glProgramUniformMatrix3x2dv", userptr); glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC) load("glProgramParameteri", userptr); glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC) load("glVertexAttribLPointer", userptr); glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) load("glProgramUniformMatrix2x3fv", userptr); glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC) load("glProgramUniform3fv", userptr); glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC) load("glProgramUniform4i", userptr); glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC) load("glProgramUniform2iv", userptr); glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC) load("glProgramUniform1dv", userptr); glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC) load("glDepthRangeIndexed", userptr); glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC) load("glDeleteProgramPipelines", userptr); glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC) load("glProgramUniform4fv", userptr); glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC) load("glVertexAttribL3dv", userptr); glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC) load("glViewportArrayv", userptr); glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC) load("glVertexAttribL4d", userptr); glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC) load("glVertexAttribL1dv", userptr); glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC) load("glProgramUniform3i", userptr); glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC) load("glCreateShaderProgramv", userptr); glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC) load("glProgramUniform3uiv", userptr); glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC) load("glViewportIndexedf", userptr); glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC) load("glActiveShaderProgram", userptr); glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC) load("glViewportIndexedfv", userptr); glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC) load("glProgramUniform4uiv", userptr); glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC) load("glProgramUniform1d", userptr); glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC) load("glProgramUniform2fv", userptr); glScissorIndexed = (PFNGLSCISSORINDEXEDPROC) load("glScissorIndexed", userptr); glProgramBinary = (PFNGLPROGRAMBINARYPROC) load("glProgramBinary", userptr); glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC) load("glUseProgramStages", userptr); glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC) load("glVertexAttribL2d", userptr); glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) load("glReleaseShaderCompiler", userptr); glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC) load("glProgramUniform3dv", userptr); glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC) load("glProgramUniformMatrix3dv", userptr); glScissorArrayv = (PFNGLSCISSORARRAYVPROC) load("glScissorArrayv", userptr); glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) load("glProgramUniformMatrix3x4dv", userptr); glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC) load("glVertexAttribL4dv", userptr); glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC) load("glProgramUniform2f", userptr); glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC) load("glProgramUniform2i", userptr); glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC) load("glProgramUniformMatrix4dv", userptr); glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC) load("glProgramUniform2uiv", userptr); glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) load("glProgramUniformMatrix3x4fv", userptr); glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC) load("glProgramUniform4f", userptr); glClearDepthf = (PFNGLCLEARDEPTHFPROC) load("glClearDepthf", userptr); glShaderBinary = (PFNGLSHADERBINARYPROC) load("glShaderBinary", userptr); glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC) load("glProgramUniform2ui", userptr); glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC) load("glGetProgramPipelineiv", userptr); glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) load("glProgramUniformMatrix2x3dv", userptr); glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC) load("glVertexAttribL2dv", userptr); glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC) load("glProgramUniformMatrix2dv", userptr); glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC) load("glProgramUniformMatrix2fv", userptr); glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC) load("glGetProgramPipelineInfoLog", userptr); glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) load("glProgramUniformMatrix4x3dv", userptr); glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) load("glGetShaderPrecisionFormat", userptr); glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC) load("glProgramUniform3d", userptr); glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) load("glProgramUniformMatrix4x2dv", userptr); glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC) load("glProgramUniform3f", userptr); glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC) load("glProgramUniform3iv", userptr); glDepthRangef = (PFNGLDEPTHRANGEFPROC) load("glDepthRangef", userptr); glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC) load("glProgramUniform4iv", userptr); glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC) load("glScissorIndexedv", userptr); glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) load("glProgramUniformMatrix2x4dv", userptr); glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC) load("glGetVertexAttribLdv", userptr); glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC) load("glProgramUniform2dv", userptr); glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC) load("glProgramUniform4dv", userptr); glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC) load("glProgramUniform1fv", userptr); glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC) load("glProgramUniform3ui", userptr); glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC) load("glProgramUniform4ui", userptr); glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC) load("glProgramUniformMatrix4fv", userptr); glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC) load("glVertexAttribL1d", userptr); glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) load("glProgramUniformMatrix3x2fv", userptr); glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) load("glProgramUniformMatrix2x4fv", userptr); glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC) load("glProgramUniform1i", userptr); glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC) load("glValidateProgramPipeline", userptr); glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC) load("glBindProgramPipeline", userptr); glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC) load("glProgramUniform1uiv", userptr); glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC) load("glProgramUniform2d", userptr); glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC) load("glProgramUniformMatrix3fv", userptr); glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) load("glProgramUniformMatrix4x2fv", userptr); glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC) load("glProgramUniform1f", userptr); glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC) load("glGenProgramPipelines", userptr); glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC) load("glProgramUniform1ui", userptr); glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) load("glProgramUniformMatrix4x3fv", userptr); glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC) load("glVertexAttribL3d", userptr); } static void load_GL_VERSION_4_2( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_4_2) return; glTexStorage2D = (PFNGLTEXSTORAGE2DPROC) load("glTexStorage2D", userptr); glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC) load("glGetInternalformativ", userptr); glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC) load("glBindImageTexture", userptr); glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) load("glDrawTransformFeedbackStreamInstanced", userptr); glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) load("glDrawArraysInstancedBaseInstance", userptr); glTexStorage3D = (PFNGLTEXSTORAGE3DPROC) load("glTexStorage3D", userptr); glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) load("glDrawElementsInstancedBaseVertexBaseInstance", userptr); glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) load("glDrawTransformFeedbackInstanced", userptr); glMemoryBarrier = (PFNGLMEMORYBARRIERPROC) load("glMemoryBarrier", userptr); glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) load("glGetActiveAtomicCounterBufferiv", userptr); glTexStorage1D = (PFNGLTEXSTORAGE1DPROC) load("glTexStorage1D", userptr); glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) load("glDrawElementsInstancedBaseInstance", userptr); } static void load_GL_VERSION_4_3( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_4_3) return; glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC) load("glDispatchComputeIndirect", userptr); glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC) load("glVertexAttribLFormat", userptr); glClearBufferData = (PFNGLCLEARBUFFERDATAPROC) load("glClearBufferData", userptr); glTextureView = (PFNGLTEXTUREVIEWPROC) load("glTextureView", userptr); glGetPointerv = (PFNGLGETPOINTERVPROC) load("glGetPointerv", userptr); glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC) load("glFramebufferParameteri", userptr); glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC) load("glDebugMessageCallback", userptr); glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC) load("glInvalidateBufferData", userptr); glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC) load("glGetInternalformati64v", userptr); glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC) load("glVertexAttribBinding", userptr); glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC) load("glDispatchCompute", userptr); glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC) load("glVertexBindingDivisor", userptr); glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC) load("glMultiDrawArraysIndirect", userptr); glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC) load("glGetProgramResourceName", userptr); glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC) load("glDebugMessageControl", userptr); glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC) load("glGetProgramResourceiv", userptr); glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC) load("glInvalidateSubFramebuffer", userptr); glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC) load("glVertexAttribIFormat", userptr); glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC) load("glInvalidateBufferSubData", userptr); glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC) load("glTexStorage2DMultisample", userptr); glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC) load("glTexStorage3DMultisample", userptr); glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC) load("glInvalidateFramebuffer", userptr); glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC) load("glGetProgramInterfaceiv", userptr); glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC) load("glShaderStorageBlockBinding", userptr); glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC) load("glClearBufferSubData", userptr); glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC) load("glGetProgramResourceIndex", userptr); glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC) load("glInvalidateTexImage", userptr); glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC) load("glGetFramebufferParameteriv", userptr); glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) load("glGetProgramResourceLocationIndex", userptr); glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC) load("glObjectPtrLabel", userptr); glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC) load("glTexBufferRange", userptr); glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC) load("glGetProgramResourceLocation", userptr); glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC) load("glMultiDrawElementsIndirect", userptr); glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC) load("glInvalidateTexSubImage", userptr); glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC) load("glBindVertexBuffer", userptr); glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC) load("glDebugMessageInsert", userptr); glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC) load("glGetDebugMessageLog", userptr); glObjectLabel = (PFNGLOBJECTLABELPROC) load("glObjectLabel", userptr); glGetObjectLabel = (PFNGLGETOBJECTLABELPROC) load("glGetObjectLabel", userptr); glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC) load("glCopyImageSubData", userptr); glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC) load("glPushDebugGroup", userptr); glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC) load("glPopDebugGroup", userptr); glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC) load("glVertexAttribFormat", userptr); glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC) load("glGetObjectPtrLabel", userptr); } static void load_GL_VERSION_4_4( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_4_4) return; glBindSamplers = (PFNGLBINDSAMPLERSPROC) load("glBindSamplers", userptr); glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC) load("glBindImageTextures", userptr); glBufferStorage = (PFNGLBUFFERSTORAGEPROC) load("glBufferStorage", userptr); glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC) load("glBindVertexBuffers", userptr); glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC) load("glBindBuffersBase", userptr); glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC) load("glClearTexSubImage", userptr); glClearTexImage = (PFNGLCLEARTEXIMAGEPROC) load("glClearTexImage", userptr); glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC) load("glBindBuffersRange", userptr); glBindTextures = (PFNGLBINDTEXTURESPROC) load("glBindTextures", userptr); } static void load_GL_VERSION_4_5( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_4_5) return; glGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC) load("glGetTextureParameterIiv", userptr); glTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) load("glTextureStorage3DMultisample", userptr); glTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC) load("glTextureSubImage3D", userptr); glVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC) load("glVertexArrayAttribBinding", userptr); glGetnCompressedTexImage = (PFNGLGETNCOMPRESSEDTEXIMAGEPROC) load("glGetnCompressedTexImage", userptr); glTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) load("glTextureStorage2DMultisample", userptr); glFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) load("glFlushMappedNamedBufferRange", userptr); glGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) load("glGetNamedFramebufferParameteriv", userptr); glTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC) load("glTextureBufferRange", userptr); glGetnMapdv = (PFNGLGETNMAPDVPROC) load("glGetnMapdv", userptr); glCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC) load("glCopyTextureSubImage1D", userptr); glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC) load("glGetnUniformuiv", userptr); glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC) load("glTextureParameteri", userptr); glCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) load("glCheckNamedFramebufferStatus", userptr); glGetnColorTable = (PFNGLGETNCOLORTABLEPROC) load("glGetnColorTable", userptr); glClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC) load("glClearNamedBufferData", userptr); glInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) load("glInvalidateNamedFramebufferSubData", userptr); glGetnPixelMapfv = (PFNGLGETNPIXELMAPFVPROC) load("glGetnPixelMapfv", userptr); glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC) load("glGetGraphicsResetStatus", userptr); glTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) load("glTransformFeedbackBufferBase", userptr); glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC) load("glNamedBufferSubData", userptr); glClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) load("glClearNamedFramebufferuiv", userptr); glVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC) load("glVertexArrayAttribLFormat", userptr); glGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC) load("glGetTextureLevelParameterfv", userptr); glBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC) load("glBlitNamedFramebuffer", userptr); glClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) load("glClearNamedFramebufferfi", userptr); glNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) load("glNamedFramebufferReadBuffer", userptr); glGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) load("glGetCompressedTextureImage", userptr); glGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC) load("glGetTextureSubImage", userptr); glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC) load("glTextureSubImage2D", userptr); glNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC) load("glNamedRenderbufferStorage", userptr); glNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) load("glNamedFramebufferRenderbuffer", userptr); glNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC) load("glNamedBufferData", userptr); glGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC) load("glGetNamedBufferSubData", userptr); glGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC) load("glGetNamedBufferPointerv", userptr); glTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC) load("glTextureStorage2D", userptr); glGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC) load("glGetTextureParameteriv", userptr); glVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC) load("glVertexArrayVertexBuffer", userptr); glGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC) load("glGetQueryBufferObjectui64v", userptr); glGetnPolygonStipple = (PFNGLGETNPOLYGONSTIPPLEPROC) load("glGetnPolygonStipple", userptr); glVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC) load("glVertexArrayBindingDivisor", userptr); glGetnHistogram = (PFNGLGETNHISTOGRAMPROC) load("glGetnHistogram", userptr); glEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC) load("glEnableVertexArrayAttrib", userptr); glGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC) load("glGetVertexArrayIndexed64iv", userptr); glGetnUniformdv = (PFNGLGETNUNIFORMDVPROC) load("glGetnUniformdv", userptr); glCreateSamplers = (PFNGLCREATESAMPLERSPROC) load("glCreateSamplers", userptr); glNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) load("glNamedFramebufferParameteri", userptr); glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC) load("glNamedBufferStorage", userptr); glNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) load("glNamedFramebufferTexture", userptr); glGetnSeparableFilter = (PFNGLGETNSEPARABLEFILTERPROC) load("glGetnSeparableFilter", userptr); glCreateQueries = (PFNGLCREATEQUERIESPROC) load("glCreateQueries", userptr); glTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) load("glTransformFeedbackBufferRange", userptr); glGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC) load("glGetVertexArrayiv", userptr); glGetnMapfv = (PFNGLGETNMAPFVPROC) load("glGetnMapfv", userptr); glGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) load("glGetNamedRenderbufferParameteriv", userptr); glGetnPixelMapuiv = (PFNGLGETNPIXELMAPUIVPROC) load("glGetnPixelMapuiv", userptr); glGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC) load("glGetQueryBufferObjectiv", userptr); glGetnConvolutionFilter = (PFNGLGETNCONVOLUTIONFILTERPROC) load("glGetnConvolutionFilter", userptr); glCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC) load("glCreateRenderbuffers", userptr); glGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC) load("glGenerateTextureMipmap", userptr); glTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC) load("glTextureStorage1D", userptr); glCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC) load("glCreateProgramPipelines", userptr); glGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load("glGetNamedFramebufferAttachmentParameteriv", userptr); glBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC) load("glBindTextureUnit", userptr); glGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC) load("glGetTransformFeedbacki64_v", userptr); glNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) load("glNamedFramebufferDrawBuffer", userptr); glInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) load("glInvalidateNamedFramebufferData", userptr); glReadnPixels = (PFNGLREADNPIXELSPROC) load("glReadnPixels", userptr); glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC) load("glTextureParameterfv", userptr); glGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC) load("glGetVertexArrayIndexediv", userptr); glMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC) load("glMapNamedBuffer", userptr); glGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) load("glGetNamedBufferParameteri64v", userptr); glVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC) load("glVertexArrayElementBuffer", userptr); glClipControl = (PFNGLCLIPCONTROLPROC) load("glClipControl", userptr); glClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) load("glClearNamedFramebufferfv", userptr); glGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC) load("glGetTransformFeedbackiv", userptr); glGetnMinmax = (PFNGLGETNMINMAXPROC) load("glGetnMinmax", userptr); glNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) load("glNamedRenderbufferStorageMultisample", userptr); glNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) load("glNamedFramebufferDrawBuffers", userptr); glGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC) load("glGetNamedBufferParameteriv", userptr); glNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) load("glNamedFramebufferTextureLayer", userptr); glClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) load("glClearNamedFramebufferiv", userptr); glCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) load("glCompressedTextureSubImage3D", userptr); glDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC) load("glDisableVertexArrayAttrib", userptr); glGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC) load("glGetQueryBufferObjectuiv", userptr); glTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC) load("glTextureParameterIuiv", userptr); glGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC) load("glGetTextureParameterIuiv", userptr); glTextureBuffer = (PFNGLTEXTUREBUFFERPROC) load("glTextureBuffer", userptr); glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC) load("glMemoryBarrierByRegion", userptr); glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC) load("glTextureParameterf", userptr); glCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC) load("glCopyNamedBufferSubData", userptr); glVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC) load("glVertexArrayAttribFormat", userptr); glMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC) load("glMapNamedBufferRange", userptr); glTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC) load("glTextureSubImage1D", userptr); glGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC) load("glGetTextureParameterfv", userptr); glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC) load("glTextureParameteriv", userptr); glCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC) load("glCreateFramebuffers", userptr); glTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC) load("glTextureParameterIiv", userptr); glGetnTexImage = (PFNGLGETNTEXIMAGEPROC) load("glGetnTexImage", userptr); glTextureBarrier = (PFNGLTEXTUREBARRIERPROC) load("glTextureBarrier", userptr); glCreateTextures = (PFNGLCREATETEXTURESPROC) load("glCreateTextures", userptr); glCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) load("glCompressedTextureSubImage1D", userptr); glCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC) load("glCopyTextureSubImage3D", userptr); glCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC) load("glCreateVertexArrays", userptr); glCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) load("glCompressedTextureSubImage2D", userptr); glCreateBuffers = (PFNGLCREATEBUFFERSPROC) load("glCreateBuffers", userptr); glCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC) load("glCreateTransformFeedbacks", userptr); glGetnMapiv = (PFNGLGETNMAPIVPROC) load("glGetnMapiv", userptr); glClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC) load("glClearNamedBufferSubData", userptr); glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC) load("glGetTextureImage", userptr); glGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC) load("glGetTextureLevelParameteriv", userptr); glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC) load("glGetnUniformiv", userptr); glGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) load("glGetCompressedTextureSubImage", userptr); glVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC) load("glVertexArrayVertexBuffers", userptr); glCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC) load("glCopyTextureSubImage2D", userptr); glGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC) load("glGetTransformFeedbacki_v", userptr); glUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC) load("glUnmapNamedBuffer", userptr); glVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC) load("glVertexArrayAttribIFormat", userptr); glGetnPixelMapusv = (PFNGLGETNPIXELMAPUSVPROC) load("glGetnPixelMapusv", userptr); glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC) load("glGetnUniformfv", userptr); glTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC) load("glTextureStorage3D", userptr); glGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC) load("glGetQueryBufferObjecti64v", userptr); } static void load_GL_VERSION_4_6( GLADuserptrloadfunc load, void* userptr) { if(!GLAD_GL_VERSION_4_6) return; glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC) load("glPolygonOffsetClamp", userptr); glSpecializeShader = (PFNGLSPECIALIZESHADERPROC) load("glSpecializeShader", userptr); glMultiDrawArraysIndirectCount = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC) load("glMultiDrawArraysIndirectCount", userptr); glMultiDrawElementsIndirectCount = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC) load("glMultiDrawElementsIndirectCount", userptr); } #if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) #define GLAD_GL_IS_SOME_NEW_VERSION 1 #else #define GLAD_GL_IS_SOME_NEW_VERSION 0 #endif static int get_exts( int version, const char **out_exts, unsigned int *out_num_exts_i, char ***out_exts_i) { #if GLAD_GL_IS_SOME_NEW_VERSION if(GLAD_VERSION_MAJOR(version) < 3) { #else (void) version; (void) out_num_exts_i; (void) out_exts_i; #endif if (glGetString == NULL) { return 0; } *out_exts = (const char *)glGetString(GL_EXTENSIONS); #if GLAD_GL_IS_SOME_NEW_VERSION } else { unsigned int index = 0; unsigned int num_exts_i = 0; char **exts_i = NULL; if (glGetStringi == NULL || glGetIntegerv == NULL) { return 0; } glGetIntegerv(GL_NUM_EXTENSIONS, (int*) &num_exts_i); if (num_exts_i > 0) { exts_i = (char **) malloc(num_exts_i * (sizeof *exts_i)); } if (exts_i == NULL) { return 0; } for(index = 0; index < num_exts_i; index++) { const char *gl_str_tmp = (const char*) glGetStringi(GL_EXTENSIONS, index); size_t len = strlen(gl_str_tmp) + 1; char *local_str = (char*) malloc(len * sizeof(char)); if(local_str != NULL) { GLAD_IMPL_UTIL_STRNCPY(local_str, gl_str_tmp, len); } exts_i[index] = local_str; } *out_num_exts_i = num_exts_i; *out_exts_i = exts_i; } #endif return 1; } static void free_exts(char **exts_i, unsigned int num_exts_i) { if (exts_i != NULL) { unsigned int index; for(index = 0; index < num_exts_i; index++) { free((void *) (exts_i[index])); } free((void *)exts_i); exts_i = NULL; } } static int has_ext(int version, const char *exts, unsigned int num_exts_i, char **exts_i, const char *ext) { if(GLAD_VERSION_MAJOR(version) < 3 || !GLAD_GL_IS_SOME_NEW_VERSION) { const char *extensions; const char *loc; const char *terminator; extensions = exts; if(extensions == NULL || ext == NULL) { return 0; } while(1) { loc = strstr(extensions, ext); if(loc == NULL) { return 0; } terminator = loc + strlen(ext); if((loc == extensions || *(loc - 1) == ' ') && (*terminator == ' ' || *terminator == '\0')) { return 1; } extensions = terminator; } } else { unsigned int index; for(index = 0; index < num_exts_i; index++) { const char *e = exts_i[index]; if(strcmp(e, ext) == 0) { return 1; } } } return 0; } static GLADapiproc glad_gl_get_proc_from_userptr(const char* name, void *userptr) { return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name); } static int find_extensionsGL( int version) { const char *exts = NULL; unsigned int num_exts_i = 0; char **exts_i = NULL; if (!get_exts(version, &exts, &num_exts_i, &exts_i)) return 0; GLAD_GL_ARB_point_sprite = has_ext(version, exts, num_exts_i, exts_i, "GL_ARB_point_sprite"); free_exts(exts_i, num_exts_i); return 1; } static int find_coreGL(void) { int i, major, minor; const char* version; const char* prefixes[] = { "OpenGL ES-CM ", "OpenGL ES-CL ", "OpenGL ES ", NULL }; version = (const char*) glGetString(GL_VERSION); if (!version) return 0; for (i = 0; prefixes[i]; i++) { const size_t length = strlen(prefixes[i]); if (strncmp(version, prefixes[i], length) == 0) { version += length; break; } } GLAD_IMPL_UTIL_SSCANF(version, "%d.%d", &major, &minor); GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1; GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1; GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1; GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1; GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1; GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1; GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2; GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2; GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3; GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3; GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3; GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3; GLAD_GL_VERSION_4_0 = (major == 4 && minor >= 0) || major > 4; GLAD_GL_VERSION_4_1 = (major == 4 && minor >= 1) || major > 4; GLAD_GL_VERSION_4_2 = (major == 4 && minor >= 2) || major > 4; GLAD_GL_VERSION_4_3 = (major == 4 && minor >= 3) || major > 4; GLAD_GL_VERSION_4_4 = (major == 4 && minor >= 4) || major > 4; GLAD_GL_VERSION_4_5 = (major == 4 && minor >= 5) || major > 4; GLAD_GL_VERSION_4_6 = (major == 4 && minor >= 6) || major > 4; return GLAD_MAKE_VERSION(major, minor); } int gladLoadGLUserPtr( GLADuserptrloadfunc load, void *userptr) { int version; glGetString = (PFNGLGETSTRINGPROC) load("glGetString", userptr); if(glGetString == NULL) return 0; if(glGetString(GL_VERSION) == NULL) return 0; version = find_coreGL(); load_GL_VERSION_1_0(load, userptr); load_GL_VERSION_1_1(load, userptr); load_GL_VERSION_1_2(load, userptr); load_GL_VERSION_1_3(load, userptr); load_GL_VERSION_1_4(load, userptr); load_GL_VERSION_1_5(load, userptr); load_GL_VERSION_2_0(load, userptr); load_GL_VERSION_2_1(load, userptr); load_GL_VERSION_3_0(load, userptr); load_GL_VERSION_3_1(load, userptr); load_GL_VERSION_3_2(load, userptr); load_GL_VERSION_3_3(load, userptr); load_GL_VERSION_4_0(load, userptr); load_GL_VERSION_4_1(load, userptr); load_GL_VERSION_4_2(load, userptr); load_GL_VERSION_4_3(load, userptr); load_GL_VERSION_4_4(load, userptr); load_GL_VERSION_4_5(load, userptr); load_GL_VERSION_4_6(load, userptr); if (!find_extensionsGL(version)) return 0; return version; } int gladLoadGL( GLADloadfunc load) { return gladLoadGLUserPtr( glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load); } #ifdef GLAD_GL #ifndef GLAD_LOADER_LIBRARY_C_ #define GLAD_LOADER_LIBRARY_C_ #include #include #if GLAD_PLATFORM_WIN32 #include #else #include #endif static void* glad_get_dlopen_handle(const char *lib_names[], int length) { void *handle = NULL; int i; for (i = 0; i < length; ++i) { #if GLAD_PLATFORM_WIN32 #if GLAD_PLATFORM_UWP size_t buffer_size = (strlen(lib_names[i]) + 1) * sizeof(WCHAR); LPWSTR buffer = (LPWSTR) malloc(buffer_size); if (buffer != NULL) { int ret = MultiByteToWideChar(CP_ACP, 0, lib_names[i], -1, buffer, buffer_size); if (ret != 0) { handle = (void*) LoadPackagedLibrary(buffer, 0); } free((void*) buffer); } #else handle = (void*) LoadLibraryA(lib_names[i]); #endif #else handle = dlopen(lib_names[i], RTLD_LAZY | RTLD_LOCAL); #endif if (handle != NULL) { return handle; } } return NULL; } static void glad_close_dlopen_handle(void* handle) { if (handle != NULL) { #if GLAD_PLATFORM_WIN32 FreeLibrary((HMODULE) handle); #else dlclose(handle); #endif } } static GLADapiproc glad_dlsym_handle(void* handle, const char *name) { if (handle == NULL) { return NULL; } #if GLAD_PLATFORM_WIN32 return (GLADapiproc) GetProcAddress((HMODULE) handle, name); #else return GLAD_GNUC_EXTENSION (GLADapiproc) dlsym(handle, name); #endif } #endif /* GLAD_LOADER_LIBRARY_C_ */ typedef void* (GLAD_API_PTR *GLADglprocaddrfunc)(const char*); struct _glad_gl_userptr { void *gl_handle; GLADglprocaddrfunc gl_get_proc_address_ptr; }; static GLADapiproc glad_gl_get_proc(const char *name, void *vuserptr) { struct _glad_gl_userptr userptr = *(struct _glad_gl_userptr*) vuserptr; GLADapiproc result = NULL; #ifndef __APPLE__ if(userptr.gl_get_proc_address_ptr != NULL) { result = GLAD_GNUC_EXTENSION (GLADapiproc) userptr.gl_get_proc_address_ptr(name); } #endif if(result == NULL) { result = glad_dlsym_handle(userptr.gl_handle, name); } return result; } int gladLoaderLoadGL(void) { #ifdef __APPLE__ static const char *NAMES[] = { "../Frameworks/OpenGL.framework/OpenGL", "/Library/Frameworks/OpenGL.framework/OpenGL", "/System/Library/Frameworks/OpenGL.framework/OpenGL", "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL" }; #elif GLAD_PLATFORM_WIN32 static const char *NAMES[] = {"opengl32.dll"}; #else static const char *NAMES[] = { #if defined __CYGWIN__ "libGL-1.so", #endif "libGL.so.1", "libGL.so" }; #endif int version = 0; void *handle; struct _glad_gl_userptr userptr; handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); if (handle) { userptr.gl_handle = handle; #ifdef __APPLE__ userptr.gl_get_proc_address_ptr = NULL; #elif GLAD_PLATFORM_WIN32 userptr.gl_get_proc_address_ptr = (GLADglprocaddrfunc) glad_dlsym_handle(handle, "wglGetProcAddress"); #else userptr.gl_get_proc_address_ptr = (GLADglprocaddrfunc) glad_dlsym_handle(handle, "glXGetProcAddressARB"); #endif version = gladLoadGLUserPtr(glad_gl_get_proc, &userptr); glad_close_dlopen_handle(handle); } return version; } #endif /* GLAD_GL */