/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 *
 * Generated from Khronos GL API description (gl.xml) revision 9d534f9312e56c72df763207e449c6719576fd54.
 */
gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
gl->beginConditionalRender				= (glBeginConditionalRenderFunc)				loader->get("glBeginConditionalRender");
gl->beginQuery							= (glBeginQueryFunc)							loader->get("glBeginQuery");
gl->beginTransformFeedback				= (glBeginTransformFeedbackFunc)				loader->get("glBeginTransformFeedback");
gl->bindAttribLocation					= (glBindAttribLocationFunc)					loader->get("glBindAttribLocation");
gl->bindBuffer							= (glBindBufferFunc)							loader->get("glBindBuffer");
gl->bindBufferBase						= (glBindBufferBaseFunc)						loader->get("glBindBufferBase");
gl->bindBufferRange						= (glBindBufferRangeFunc)						loader->get("glBindBufferRange");
gl->bindFragDataLocation				= (glBindFragDataLocationFunc)					loader->get("glBindFragDataLocation");
gl->bindFramebuffer						= (glBindFramebufferFunc)						loader->get("glBindFramebuffer");
gl->bindRenderbuffer					= (glBindRenderbufferFunc)						loader->get("glBindRenderbuffer");
gl->bindTexture							= (glBindTextureFunc)							loader->get("glBindTexture");
gl->bindVertexArray						= (glBindVertexArrayFunc)						loader->get("glBindVertexArray");
gl->blendColor							= (glBlendColorFunc)							loader->get("glBlendColor");
gl->blendEquation						= (glBlendEquationFunc)							loader->get("glBlendEquation");
gl->blendEquationSeparate				= (glBlendEquationSeparateFunc)					loader->get("glBlendEquationSeparate");
gl->blendFunc							= (glBlendFuncFunc)								loader->get("glBlendFunc");
gl->blendFuncSeparate					= (glBlendFuncSeparateFunc)						loader->get("glBlendFuncSeparate");
gl->blitFramebuffer						= (glBlitFramebufferFunc)						loader->get("glBlitFramebuffer");
gl->bufferData							= (glBufferDataFunc)							loader->get("glBufferData");
gl->bufferSubData						= (glBufferSubDataFunc)							loader->get("glBufferSubData");
gl->checkFramebufferStatus				= (glCheckFramebufferStatusFunc)				loader->get("glCheckFramebufferStatus");
gl->clampColor							= (glClampColorFunc)							loader->get("glClampColor");
gl->clear								= (glClearFunc)									loader->get("glClear");
gl->clearBufferfi						= (glClearBufferfiFunc)							loader->get("glClearBufferfi");
gl->clearBufferfv						= (glClearBufferfvFunc)							loader->get("glClearBufferfv");
gl->clearBufferiv						= (glClearBufferivFunc)							loader->get("glClearBufferiv");
gl->clearBufferuiv						= (glClearBufferuivFunc)						loader->get("glClearBufferuiv");
gl->clearColor							= (glClearColorFunc)							loader->get("glClearColor");
gl->clearDepth							= (glClearDepthFunc)							loader->get("glClearDepth");
gl->clearStencil						= (glClearStencilFunc)							loader->get("glClearStencil");
gl->colorMask							= (glColorMaskFunc)								loader->get("glColorMask");
gl->colorMaski							= (glColorMaskiFunc)							loader->get("glColorMaski");
gl->compileShader						= (glCompileShaderFunc)							loader->get("glCompileShader");
gl->compressedTexImage1D				= (glCompressedTexImage1DFunc)					loader->get("glCompressedTexImage1D");
gl->compressedTexImage2D				= (glCompressedTexImage2DFunc)					loader->get("glCompressedTexImage2D");
gl->compressedTexImage3D				= (glCompressedTexImage3DFunc)					loader->get("glCompressedTexImage3D");
gl->compressedTexSubImage1D				= (glCompressedTexSubImage1DFunc)				loader->get("glCompressedTexSubImage1D");
gl->compressedTexSubImage2D				= (glCompressedTexSubImage2DFunc)				loader->get("glCompressedTexSubImage2D");
gl->compressedTexSubImage3D				= (glCompressedTexSubImage3DFunc)				loader->get("glCompressedTexSubImage3D");
gl->copyBufferSubData					= (glCopyBufferSubDataFunc)						loader->get("glCopyBufferSubData");
gl->copyTexImage1D						= (glCopyTexImage1DFunc)						loader->get("glCopyTexImage1D");
gl->copyTexImage2D						= (glCopyTexImage2DFunc)						loader->get("glCopyTexImage2D");
gl->copyTexSubImage1D					= (glCopyTexSubImage1DFunc)						loader->get("glCopyTexSubImage1D");
gl->copyTexSubImage2D					= (glCopyTexSubImage2DFunc)						loader->get("glCopyTexSubImage2D");
gl->copyTexSubImage3D					= (glCopyTexSubImage3DFunc)						loader->get("glCopyTexSubImage3D");
gl->createProgram						= (glCreateProgramFunc)							loader->get("glCreateProgram");
gl->createShader						= (glCreateShaderFunc)							loader->get("glCreateShader");
gl->cullFace							= (glCullFaceFunc)								loader->get("glCullFace");
gl->deleteBuffers						= (glDeleteBuffersFunc)							loader->get("glDeleteBuffers");
gl->deleteFramebuffers					= (glDeleteFramebuffersFunc)					loader->get("glDeleteFramebuffers");
gl->deleteProgram						= (glDeleteProgramFunc)							loader->get("glDeleteProgram");
gl->deleteQueries						= (glDeleteQueriesFunc)							loader->get("glDeleteQueries");
gl->deleteRenderbuffers					= (glDeleteRenderbuffersFunc)					loader->get("glDeleteRenderbuffers");
gl->deleteShader						= (glDeleteShaderFunc)							loader->get("glDeleteShader");
gl->deleteTextures						= (glDeleteTexturesFunc)						loader->get("glDeleteTextures");
gl->deleteVertexArrays					= (glDeleteVertexArraysFunc)					loader->get("glDeleteVertexArrays");
gl->depthFunc							= (glDepthFuncFunc)								loader->get("glDepthFunc");
gl->depthMask							= (glDepthMaskFunc)								loader->get("glDepthMask");
gl->depthRange							= (glDepthRangeFunc)							loader->get("glDepthRange");
gl->detachShader						= (glDetachShaderFunc)							loader->get("glDetachShader");
gl->disable								= (glDisableFunc)								loader->get("glDisable");
gl->disableVertexAttribArray			= (glDisableVertexAttribArrayFunc)				loader->get("glDisableVertexAttribArray");
gl->disablei							= (glDisableiFunc)								loader->get("glDisablei");
gl->drawArrays							= (glDrawArraysFunc)							loader->get("glDrawArrays");
gl->drawArraysInstanced					= (glDrawArraysInstancedFunc)					loader->get("glDrawArraysInstanced");
gl->drawBuffer							= (glDrawBufferFunc)							loader->get("glDrawBuffer");
gl->drawBuffers							= (glDrawBuffersFunc)							loader->get("glDrawBuffers");
gl->drawElements						= (glDrawElementsFunc)							loader->get("glDrawElements");
gl->drawElementsInstanced				= (glDrawElementsInstancedFunc)					loader->get("glDrawElementsInstanced");
gl->drawRangeElements					= (glDrawRangeElementsFunc)						loader->get("glDrawRangeElements");
gl->enable								= (glEnableFunc)								loader->get("glEnable");
gl->enableVertexAttribArray				= (glEnableVertexAttribArrayFunc)				loader->get("glEnableVertexAttribArray");
gl->enablei								= (glEnableiFunc)								loader->get("glEnablei");
gl->endConditionalRender				= (glEndConditionalRenderFunc)					loader->get("glEndConditionalRender");
gl->endQuery							= (glEndQueryFunc)								loader->get("glEndQuery");
gl->endTransformFeedback				= (glEndTransformFeedbackFunc)					loader->get("glEndTransformFeedback");
gl->finish								= (glFinishFunc)								loader->get("glFinish");
gl->flush								= (glFlushFunc)									loader->get("glFlush");
gl->flushMappedBufferRange				= (glFlushMappedBufferRangeFunc)				loader->get("glFlushMappedBufferRange");
gl->framebufferRenderbuffer				= (glFramebufferRenderbufferFunc)				loader->get("glFramebufferRenderbuffer");
gl->framebufferTexture1D				= (glFramebufferTexture1DFunc)					loader->get("glFramebufferTexture1D");
gl->framebufferTexture2D				= (glFramebufferTexture2DFunc)					loader->get("glFramebufferTexture2D");
gl->framebufferTexture3D				= (glFramebufferTexture3DFunc)					loader->get("glFramebufferTexture3D");
gl->framebufferTextureLayer				= (glFramebufferTextureLayerFunc)				loader->get("glFramebufferTextureLayer");
gl->frontFace							= (glFrontFaceFunc)								loader->get("glFrontFace");
gl->genBuffers							= (glGenBuffersFunc)							loader->get("glGenBuffers");
gl->genFramebuffers						= (glGenFramebuffersFunc)						loader->get("glGenFramebuffers");
gl->genQueries							= (glGenQueriesFunc)							loader->get("glGenQueries");
gl->genRenderbuffers					= (glGenRenderbuffersFunc)						loader->get("glGenRenderbuffers");
gl->genTextures							= (glGenTexturesFunc)							loader->get("glGenTextures");
gl->genVertexArrays						= (glGenVertexArraysFunc)						loader->get("glGenVertexArrays");
gl->generateMipmap						= (glGenerateMipmapFunc)						loader->get("glGenerateMipmap");
gl->getActiveAttrib						= (glGetActiveAttribFunc)						loader->get("glGetActiveAttrib");
gl->getActiveUniform					= (glGetActiveUniformFunc)						loader->get("glGetActiveUniform");
gl->getActiveUniformBlockName			= (glGetActiveUniformBlockNameFunc)				loader->get("glGetActiveUniformBlockName");
gl->getActiveUniformBlockiv				= (glGetActiveUniformBlockivFunc)				loader->get("glGetActiveUniformBlockiv");
gl->getActiveUniformName				= (glGetActiveUniformNameFunc)					loader->get("glGetActiveUniformName");
gl->getActiveUniformsiv					= (glGetActiveUniformsivFunc)					loader->get("glGetActiveUniformsiv");
gl->getAttachedShaders					= (glGetAttachedShadersFunc)					loader->get("glGetAttachedShaders");
gl->getAttribLocation					= (glGetAttribLocationFunc)						loader->get("glGetAttribLocation");
gl->getBooleani_v						= (glGetBooleani_vFunc)							loader->get("glGetBooleani_v");
gl->getBooleanv							= (glGetBooleanvFunc)							loader->get("glGetBooleanv");
gl->getBufferParameteriv				= (glGetBufferParameterivFunc)					loader->get("glGetBufferParameteriv");
gl->getBufferPointerv					= (glGetBufferPointervFunc)						loader->get("glGetBufferPointerv");
gl->getBufferSubData					= (glGetBufferSubDataFunc)						loader->get("glGetBufferSubData");
gl->getCompressedTexImage				= (glGetCompressedTexImageFunc)					loader->get("glGetCompressedTexImage");
gl->getDoublev							= (glGetDoublevFunc)							loader->get("glGetDoublev");
gl->getError							= (glGetErrorFunc)								loader->get("glGetError");
gl->getFloatv							= (glGetFloatvFunc)								loader->get("glGetFloatv");
gl->getFragDataLocation					= (glGetFragDataLocationFunc)					loader->get("glGetFragDataLocation");
gl->getFramebufferAttachmentParameteriv	= (glGetFramebufferAttachmentParameterivFunc)	loader->get("glGetFramebufferAttachmentParameteriv");
gl->getIntegeri_v						= (glGetIntegeri_vFunc)							loader->get("glGetIntegeri_v");
gl->getIntegerv							= (glGetIntegervFunc)							loader->get("glGetIntegerv");
gl->getProgramInfoLog					= (glGetProgramInfoLogFunc)						loader->get("glGetProgramInfoLog");
gl->getProgramiv						= (glGetProgramivFunc)							loader->get("glGetProgramiv");
gl->getQueryObjectiv					= (glGetQueryObjectivFunc)						loader->get("glGetQueryObjectiv");
gl->getQueryObjectuiv					= (glGetQueryObjectuivFunc)						loader->get("glGetQueryObjectuiv");
gl->getQueryiv							= (glGetQueryivFunc)							loader->get("glGetQueryiv");
gl->getRenderbufferParameteriv			= (glGetRenderbufferParameterivFunc)			loader->get("glGetRenderbufferParameteriv");
gl->getShaderInfoLog					= (glGetShaderInfoLogFunc)						loader->get("glGetShaderInfoLog");
gl->getShaderSource						= (glGetShaderSourceFunc)						loader->get("glGetShaderSource");
gl->getShaderiv							= (glGetShaderivFunc)							loader->get("glGetShaderiv");
gl->getString							= (glGetStringFunc)								loader->get("glGetString");
gl->getStringi							= (glGetStringiFunc)							loader->get("glGetStringi");
gl->getTexImage							= (glGetTexImageFunc)							loader->get("glGetTexImage");
gl->getTexLevelParameterfv				= (glGetTexLevelParameterfvFunc)				loader->get("glGetTexLevelParameterfv");
gl->getTexLevelParameteriv				= (glGetTexLevelParameterivFunc)				loader->get("glGetTexLevelParameteriv");
gl->getTexParameterIiv					= (glGetTexParameterIivFunc)					loader->get("glGetTexParameterIiv");
gl->getTexParameterIuiv					= (glGetTexParameterIuivFunc)					loader->get("glGetTexParameterIuiv");
gl->getTexParameterfv					= (glGetTexParameterfvFunc)						loader->get("glGetTexParameterfv");
gl->getTexParameteriv					= (glGetTexParameterivFunc)						loader->get("glGetTexParameteriv");
gl->getTransformFeedbackVarying			= (glGetTransformFeedbackVaryingFunc)			loader->get("glGetTransformFeedbackVarying");
gl->getUniformBlockIndex				= (glGetUniformBlockIndexFunc)					loader->get("glGetUniformBlockIndex");
gl->getUniformIndices					= (glGetUniformIndicesFunc)						loader->get("glGetUniformIndices");
gl->getUniformLocation					= (glGetUniformLocationFunc)					loader->get("glGetUniformLocation");
gl->getUniformfv						= (glGetUniformfvFunc)							loader->get("glGetUniformfv");
gl->getUniformiv						= (glGetUniformivFunc)							loader->get("glGetUniformiv");
gl->getUniformuiv						= (glGetUniformuivFunc)							loader->get("glGetUniformuiv");
gl->getVertexAttribIiv					= (glGetVertexAttribIivFunc)					loader->get("glGetVertexAttribIiv");
gl->getVertexAttribIuiv					= (glGetVertexAttribIuivFunc)					loader->get("glGetVertexAttribIuiv");
gl->getVertexAttribPointerv				= (glGetVertexAttribPointervFunc)				loader->get("glGetVertexAttribPointerv");
gl->getVertexAttribdv					= (glGetVertexAttribdvFunc)						loader->get("glGetVertexAttribdv");
gl->getVertexAttribfv					= (glGetVertexAttribfvFunc)						loader->get("glGetVertexAttribfv");
gl->getVertexAttribiv					= (glGetVertexAttribivFunc)						loader->get("glGetVertexAttribiv");
gl->hint								= (glHintFunc)									loader->get("glHint");
gl->isBuffer							= (glIsBufferFunc)								loader->get("glIsBuffer");
gl->isEnabled							= (glIsEnabledFunc)								loader->get("glIsEnabled");
gl->isEnabledi							= (glIsEnablediFunc)							loader->get("glIsEnabledi");
gl->isFramebuffer						= (glIsFramebufferFunc)							loader->get("glIsFramebuffer");
gl->isProgram							= (glIsProgramFunc)								loader->get("glIsProgram");
gl->isQuery								= (glIsQueryFunc)								loader->get("glIsQuery");
gl->isRenderbuffer						= (glIsRenderbufferFunc)						loader->get("glIsRenderbuffer");
gl->isShader							= (glIsShaderFunc)								loader->get("glIsShader");
gl->isTexture							= (glIsTextureFunc)								loader->get("glIsTexture");
gl->isVertexArray						= (glIsVertexArrayFunc)							loader->get("glIsVertexArray");
gl->lineWidth							= (glLineWidthFunc)								loader->get("glLineWidth");
gl->linkProgram							= (glLinkProgramFunc)							loader->get("glLinkProgram");
gl->logicOp								= (glLogicOpFunc)								loader->get("glLogicOp");
gl->mapBuffer							= (glMapBufferFunc)								loader->get("glMapBuffer");
gl->mapBufferRange						= (glMapBufferRangeFunc)						loader->get("glMapBufferRange");
gl->multiDrawArrays						= (glMultiDrawArraysFunc)						loader->get("glMultiDrawArrays");
gl->multiDrawElements					= (glMultiDrawElementsFunc)						loader->get("glMultiDrawElements");
gl->pixelStoref							= (glPixelStorefFunc)							loader->get("glPixelStoref");
gl->pixelStorei							= (glPixelStoreiFunc)							loader->get("glPixelStorei");
gl->pointParameterf						= (glPointParameterfFunc)						loader->get("glPointParameterf");
gl->pointParameterfv					= (glPointParameterfvFunc)						loader->get("glPointParameterfv");
gl->pointParameteri						= (glPointParameteriFunc)						loader->get("glPointParameteri");
gl->pointParameteriv					= (glPointParameterivFunc)						loader->get("glPointParameteriv");
gl->pointSize							= (glPointSizeFunc)								loader->get("glPointSize");
gl->polygonMode							= (glPolygonModeFunc)							loader->get("glPolygonMode");
gl->polygonOffset						= (glPolygonOffsetFunc)							loader->get("glPolygonOffset");
gl->primitiveRestartIndex				= (glPrimitiveRestartIndexFunc)					loader->get("glPrimitiveRestartIndex");
gl->readBuffer							= (glReadBufferFunc)							loader->get("glReadBuffer");
gl->readPixels							= (glReadPixelsFunc)							loader->get("glReadPixels");
gl->renderbufferStorage					= (glRenderbufferStorageFunc)					loader->get("glRenderbufferStorage");
gl->renderbufferStorageMultisample		= (glRenderbufferStorageMultisampleFunc)		loader->get("glRenderbufferStorageMultisample");
gl->sampleCoverage						= (glSampleCoverageFunc)						loader->get("glSampleCoverage");
gl->scissor								= (glScissorFunc)								loader->get("glScissor");
gl->shaderSource						= (glShaderSourceFunc)							loader->get("glShaderSource");
gl->stencilFunc							= (glStencilFuncFunc)							loader->get("glStencilFunc");
gl->stencilFuncSeparate					= (glStencilFuncSeparateFunc)					loader->get("glStencilFuncSeparate");
gl->stencilMask							= (glStencilMaskFunc)							loader->get("glStencilMask");
gl->stencilMaskSeparate					= (glStencilMaskSeparateFunc)					loader->get("glStencilMaskSeparate");
gl->stencilOp							= (glStencilOpFunc)								loader->get("glStencilOp");
gl->stencilOpSeparate					= (glStencilOpSeparateFunc)						loader->get("glStencilOpSeparate");
gl->texBuffer							= (glTexBufferFunc)								loader->get("glTexBuffer");
gl->texImage1D							= (glTexImage1DFunc)							loader->get("glTexImage1D");
gl->texImage2D							= (glTexImage2DFunc)							loader->get("glTexImage2D");
gl->texImage3D							= (glTexImage3DFunc)							loader->get("glTexImage3D");
gl->texParameterIiv						= (glTexParameterIivFunc)						loader->get("glTexParameterIiv");
gl->texParameterIuiv					= (glTexParameterIuivFunc)						loader->get("glTexParameterIuiv");
gl->texParameterf						= (glTexParameterfFunc)							loader->get("glTexParameterf");
gl->texParameterfv						= (glTexParameterfvFunc)						loader->get("glTexParameterfv");
gl->texParameteri						= (glTexParameteriFunc)							loader->get("glTexParameteri");
gl->texParameteriv						= (glTexParameterivFunc)						loader->get("glTexParameteriv");
gl->texSubImage1D						= (glTexSubImage1DFunc)							loader->get("glTexSubImage1D");
gl->texSubImage2D						= (glTexSubImage2DFunc)							loader->get("glTexSubImage2D");
gl->texSubImage3D						= (glTexSubImage3DFunc)							loader->get("glTexSubImage3D");
gl->transformFeedbackVaryings			= (glTransformFeedbackVaryingsFunc)				loader->get("glTransformFeedbackVaryings");
gl->uniform1f							= (glUniform1fFunc)								loader->get("glUniform1f");
gl->uniform1fv							= (glUniform1fvFunc)							loader->get("glUniform1fv");
gl->uniform1i							= (glUniform1iFunc)								loader->get("glUniform1i");
gl->uniform1iv							= (glUniform1ivFunc)							loader->get("glUniform1iv");
gl->uniform1ui							= (glUniform1uiFunc)							loader->get("glUniform1ui");
gl->uniform1uiv							= (glUniform1uivFunc)							loader->get("glUniform1uiv");
gl->uniform2f							= (glUniform2fFunc)								loader->get("glUniform2f");
gl->uniform2fv							= (glUniform2fvFunc)							loader->get("glUniform2fv");
gl->uniform2i							= (glUniform2iFunc)								loader->get("glUniform2i");
gl->uniform2iv							= (glUniform2ivFunc)							loader->get("glUniform2iv");
gl->uniform2ui							= (glUniform2uiFunc)							loader->get("glUniform2ui");
gl->uniform2uiv							= (glUniform2uivFunc)							loader->get("glUniform2uiv");
gl->uniform3f							= (glUniform3fFunc)								loader->get("glUniform3f");
gl->uniform3fv							= (glUniform3fvFunc)							loader->get("glUniform3fv");
gl->uniform3i							= (glUniform3iFunc)								loader->get("glUniform3i");
gl->uniform3iv							= (glUniform3ivFunc)							loader->get("glUniform3iv");
gl->uniform3ui							= (glUniform3uiFunc)							loader->get("glUniform3ui");
gl->uniform3uiv							= (glUniform3uivFunc)							loader->get("glUniform3uiv");
gl->uniform4f							= (glUniform4fFunc)								loader->get("glUniform4f");
gl->uniform4fv							= (glUniform4fvFunc)							loader->get("glUniform4fv");
gl->uniform4i							= (glUniform4iFunc)								loader->get("glUniform4i");
gl->uniform4iv							= (glUniform4ivFunc)							loader->get("glUniform4iv");
gl->uniform4ui							= (glUniform4uiFunc)							loader->get("glUniform4ui");
gl->uniform4uiv							= (glUniform4uivFunc)							loader->get("glUniform4uiv");
gl->uniformBlockBinding					= (glUniformBlockBindingFunc)					loader->get("glUniformBlockBinding");
gl->uniformMatrix2fv					= (glUniformMatrix2fvFunc)						loader->get("glUniformMatrix2fv");
gl->uniformMatrix2x3fv					= (glUniformMatrix2x3fvFunc)					loader->get("glUniformMatrix2x3fv");
gl->uniformMatrix2x4fv					= (glUniformMatrix2x4fvFunc)					loader->get("glUniformMatrix2x4fv");
gl->uniformMatrix3fv					= (glUniformMatrix3fvFunc)						loader->get("glUniformMatrix3fv");
gl->uniformMatrix3x2fv					= (glUniformMatrix3x2fvFunc)					loader->get("glUniformMatrix3x2fv");
gl->uniformMatrix3x4fv					= (glUniformMatrix3x4fvFunc)					loader->get("glUniformMatrix3x4fv");
gl->uniformMatrix4fv					= (glUniformMatrix4fvFunc)						loader->get("glUniformMatrix4fv");
gl->uniformMatrix4x2fv					= (glUniformMatrix4x2fvFunc)					loader->get("glUniformMatrix4x2fv");
gl->uniformMatrix4x3fv					= (glUniformMatrix4x3fvFunc)					loader->get("glUniformMatrix4x3fv");
gl->unmapBuffer							= (glUnmapBufferFunc)							loader->get("glUnmapBuffer");
gl->useProgram							= (glUseProgramFunc)							loader->get("glUseProgram");
gl->validateProgram						= (glValidateProgramFunc)						loader->get("glValidateProgram");
gl->vertexAttrib1d						= (glVertexAttrib1dFunc)						loader->get("glVertexAttrib1d");
gl->vertexAttrib1dv						= (glVertexAttrib1dvFunc)						loader->get("glVertexAttrib1dv");
gl->vertexAttrib1f						= (glVertexAttrib1fFunc)						loader->get("glVertexAttrib1f");
gl->vertexAttrib1fv						= (glVertexAttrib1fvFunc)						loader->get("glVertexAttrib1fv");
gl->vertexAttrib1s						= (glVertexAttrib1sFunc)						loader->get("glVertexAttrib1s");
gl->vertexAttrib1sv						= (glVertexAttrib1svFunc)						loader->get("glVertexAttrib1sv");
gl->vertexAttrib2d						= (glVertexAttrib2dFunc)						loader->get("glVertexAttrib2d");
gl->vertexAttrib2dv						= (glVertexAttrib2dvFunc)						loader->get("glVertexAttrib2dv");
gl->vertexAttrib2f						= (glVertexAttrib2fFunc)						loader->get("glVertexAttrib2f");
gl->vertexAttrib2fv						= (glVertexAttrib2fvFunc)						loader->get("glVertexAttrib2fv");
gl->vertexAttrib2s						= (glVertexAttrib2sFunc)						loader->get("glVertexAttrib2s");
gl->vertexAttrib2sv						= (glVertexAttrib2svFunc)						loader->get("glVertexAttrib2sv");
gl->vertexAttrib3d						= (glVertexAttrib3dFunc)						loader->get("glVertexAttrib3d");
gl->vertexAttrib3dv						= (glVertexAttrib3dvFunc)						loader->get("glVertexAttrib3dv");
gl->vertexAttrib3f						= (glVertexAttrib3fFunc)						loader->get("glVertexAttrib3f");
gl->vertexAttrib3fv						= (glVertexAttrib3fvFunc)						loader->get("glVertexAttrib3fv");
gl->vertexAttrib3s						= (glVertexAttrib3sFunc)						loader->get("glVertexAttrib3s");
gl->vertexAttrib3sv						= (glVertexAttrib3svFunc)						loader->get("glVertexAttrib3sv");
gl->vertexAttrib4Nbv					= (glVertexAttrib4NbvFunc)						loader->get("glVertexAttrib4Nbv");
gl->vertexAttrib4Niv					= (glVertexAttrib4NivFunc)						loader->get("glVertexAttrib4Niv");
gl->vertexAttrib4Nsv					= (glVertexAttrib4NsvFunc)						loader->get("glVertexAttrib4Nsv");
gl->vertexAttrib4Nub					= (glVertexAttrib4NubFunc)						loader->get("glVertexAttrib4Nub");
gl->vertexAttrib4Nubv					= (glVertexAttrib4NubvFunc)						loader->get("glVertexAttrib4Nubv");
gl->vertexAttrib4Nuiv					= (glVertexAttrib4NuivFunc)						loader->get("glVertexAttrib4Nuiv");
gl->vertexAttrib4Nusv					= (glVertexAttrib4NusvFunc)						loader->get("glVertexAttrib4Nusv");
gl->vertexAttrib4bv						= (glVertexAttrib4bvFunc)						loader->get("glVertexAttrib4bv");
gl->vertexAttrib4d						= (glVertexAttrib4dFunc)						loader->get("glVertexAttrib4d");
gl->vertexAttrib4dv						= (glVertexAttrib4dvFunc)						loader->get("glVertexAttrib4dv");
gl->vertexAttrib4f						= (glVertexAttrib4fFunc)						loader->get("glVertexAttrib4f");
gl->vertexAttrib4fv						= (glVertexAttrib4fvFunc)						loader->get("glVertexAttrib4fv");
gl->vertexAttrib4iv						= (glVertexAttrib4ivFunc)						loader->get("glVertexAttrib4iv");
gl->vertexAttrib4s						= (glVertexAttrib4sFunc)						loader->get("glVertexAttrib4s");
gl->vertexAttrib4sv						= (glVertexAttrib4svFunc)						loader->get("glVertexAttrib4sv");
gl->vertexAttrib4ubv					= (glVertexAttrib4ubvFunc)						loader->get("glVertexAttrib4ubv");
gl->vertexAttrib4uiv					= (glVertexAttrib4uivFunc)						loader->get("glVertexAttrib4uiv");
gl->vertexAttrib4usv					= (glVertexAttrib4usvFunc)						loader->get("glVertexAttrib4usv");
gl->vertexAttribI1i						= (glVertexAttribI1iFunc)						loader->get("glVertexAttribI1i");
gl->vertexAttribI1iv					= (glVertexAttribI1ivFunc)						loader->get("glVertexAttribI1iv");
gl->vertexAttribI1ui					= (glVertexAttribI1uiFunc)						loader->get("glVertexAttribI1ui");
gl->vertexAttribI1uiv					= (glVertexAttribI1uivFunc)						loader->get("glVertexAttribI1uiv");
gl->vertexAttribI2i						= (glVertexAttribI2iFunc)						loader->get("glVertexAttribI2i");
gl->vertexAttribI2iv					= (glVertexAttribI2ivFunc)						loader->get("glVertexAttribI2iv");
gl->vertexAttribI2ui					= (glVertexAttribI2uiFunc)						loader->get("glVertexAttribI2ui");
gl->vertexAttribI2uiv					= (glVertexAttribI2uivFunc)						loader->get("glVertexAttribI2uiv");
gl->vertexAttribI3i						= (glVertexAttribI3iFunc)						loader->get("glVertexAttribI3i");
gl->vertexAttribI3iv					= (glVertexAttribI3ivFunc)						loader->get("glVertexAttribI3iv");
gl->vertexAttribI3ui					= (glVertexAttribI3uiFunc)						loader->get("glVertexAttribI3ui");
gl->vertexAttribI3uiv					= (glVertexAttribI3uivFunc)						loader->get("glVertexAttribI3uiv");
gl->vertexAttribI4bv					= (glVertexAttribI4bvFunc)						loader->get("glVertexAttribI4bv");
gl->vertexAttribI4i						= (glVertexAttribI4iFunc)						loader->get("glVertexAttribI4i");
gl->vertexAttribI4iv					= (glVertexAttribI4ivFunc)						loader->get("glVertexAttribI4iv");
gl->vertexAttribI4sv					= (glVertexAttribI4svFunc)						loader->get("glVertexAttribI4sv");
gl->vertexAttribI4ubv					= (glVertexAttribI4ubvFunc)						loader->get("glVertexAttribI4ubv");
gl->vertexAttribI4ui					= (glVertexAttribI4uiFunc)						loader->get("glVertexAttribI4ui");
gl->vertexAttribI4uiv					= (glVertexAttribI4uivFunc)						loader->get("glVertexAttribI4uiv");
gl->vertexAttribI4usv					= (glVertexAttribI4usvFunc)						loader->get("glVertexAttribI4usv");
gl->vertexAttribIPointer				= (glVertexAttribIPointerFunc)					loader->get("glVertexAttribIPointer");
gl->vertexAttribPointer					= (glVertexAttribPointerFunc)					loader->get("glVertexAttribPointer");
gl->viewport							= (glViewportFunc)								loader->get("glViewport");
