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