#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 */