/* 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 32093.
 */
gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
gl->bindAttribLocation					= (glBindAttribLocationFunc)					loader->get("glBindAttribLocation");
gl->bindBuffer							= (glBindBufferFunc)							loader->get("glBindBuffer");
gl->bindFramebuffer						= (glBindFramebufferFunc)						loader->get("glBindFramebuffer");
gl->bindRenderbuffer					= (glBindRenderbufferFunc)						loader->get("glBindRenderbuffer");
gl->bindTexture							= (glBindTextureFunc)							loader->get("glBindTexture");
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->bufferData							= (glBufferDataFunc)							loader->get("glBufferData");
gl->bufferSubData						= (glBufferSubDataFunc)							loader->get("glBufferSubData");
gl->checkFramebufferStatus				= (glCheckFramebufferStatusFunc)				loader->get("glCheckFramebufferStatus");
gl->clear								= (glClearFunc)									loader->get("glClear");
gl->clearColor							= (glClearColorFunc)							loader->get("glClearColor");
gl->clearDepthf							= (glClearDepthfFunc)							loader->get("glClearDepthf");
gl->clearStencil						= (glClearStencilFunc)							loader->get("glClearStencil");
gl->colorMask							= (glColorMaskFunc)								loader->get("glColorMask");
gl->compileShader						= (glCompileShaderFunc)							loader->get("glCompileShader");
gl->compressedTexImage2D				= (glCompressedTexImage2DFunc)					loader->get("glCompressedTexImage2D");
gl->compressedTexSubImage2D				= (glCompressedTexSubImage2DFunc)				loader->get("glCompressedTexSubImage2D");
gl->copyTexImage2D						= (glCopyTexImage2DFunc)						loader->get("glCopyTexImage2D");
gl->copyTexSubImage2D					= (glCopyTexSubImage2DFunc)						loader->get("glCopyTexSubImage2D");
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->deleteRenderbuffers					= (glDeleteRenderbuffersFunc)					loader->get("glDeleteRenderbuffers");
gl->deleteShader						= (glDeleteShaderFunc)							loader->get("glDeleteShader");
gl->deleteTextures						= (glDeleteTexturesFunc)						loader->get("glDeleteTextures");
gl->depthFunc							= (glDepthFuncFunc)								loader->get("glDepthFunc");
gl->depthMask							= (glDepthMaskFunc)								loader->get("glDepthMask");
gl->depthRangef							= (glDepthRangefFunc)							loader->get("glDepthRangef");
gl->detachShader						= (glDetachShaderFunc)							loader->get("glDetachShader");
gl->disable								= (glDisableFunc)								loader->get("glDisable");
gl->disableVertexAttribArray			= (glDisableVertexAttribArrayFunc)				loader->get("glDisableVertexAttribArray");
gl->drawArrays							= (glDrawArraysFunc)							loader->get("glDrawArrays");
gl->drawElements						= (glDrawElementsFunc)							loader->get("glDrawElements");
gl->enable								= (glEnableFunc)								loader->get("glEnable");
gl->enableVertexAttribArray				= (glEnableVertexAttribArrayFunc)				loader->get("glEnableVertexAttribArray");
gl->finish								= (glFinishFunc)								loader->get("glFinish");
gl->flush								= (glFlushFunc)									loader->get("glFlush");
gl->framebufferRenderbuffer				= (glFramebufferRenderbufferFunc)				loader->get("glFramebufferRenderbuffer");
gl->framebufferTexture2D				= (glFramebufferTexture2DFunc)					loader->get("glFramebufferTexture2D");
gl->frontFace							= (glFrontFaceFunc)								loader->get("glFrontFace");
gl->genBuffers							= (glGenBuffersFunc)							loader->get("glGenBuffers");
gl->genFramebuffers						= (glGenFramebuffersFunc)						loader->get("glGenFramebuffers");
gl->genRenderbuffers					= (glGenRenderbuffersFunc)						loader->get("glGenRenderbuffers");
gl->genTextures							= (glGenTexturesFunc)							loader->get("glGenTextures");
gl->generateMipmap						= (glGenerateMipmapFunc)						loader->get("glGenerateMipmap");
gl->getActiveAttrib						= (glGetActiveAttribFunc)						loader->get("glGetActiveAttrib");
gl->getActiveUniform					= (glGetActiveUniformFunc)						loader->get("glGetActiveUniform");
gl->getAttachedShaders					= (glGetAttachedShadersFunc)					loader->get("glGetAttachedShaders");
gl->getAttribLocation					= (glGetAttribLocationFunc)						loader->get("glGetAttribLocation");
gl->getBooleanv							= (glGetBooleanvFunc)							loader->get("glGetBooleanv");
gl->getBufferParameteriv				= (glGetBufferParameterivFunc)					loader->get("glGetBufferParameteriv");
gl->getError							= (glGetErrorFunc)								loader->get("glGetError");
gl->getFloatv							= (glGetFloatvFunc)								loader->get("glGetFloatv");
gl->getFramebufferAttachmentParameteriv	= (glGetFramebufferAttachmentParameterivFunc)	loader->get("glGetFramebufferAttachmentParameteriv");
gl->getIntegerv							= (glGetIntegervFunc)							loader->get("glGetIntegerv");
gl->getProgramInfoLog					= (glGetProgramInfoLogFunc)						loader->get("glGetProgramInfoLog");
gl->getProgramiv						= (glGetProgramivFunc)							loader->get("glGetProgramiv");
gl->getRenderbufferParameteriv			= (glGetRenderbufferParameterivFunc)			loader->get("glGetRenderbufferParameteriv");
gl->getShaderInfoLog					= (glGetShaderInfoLogFunc)						loader->get("glGetShaderInfoLog");
gl->getShaderPrecisionFormat			= (glGetShaderPrecisionFormatFunc)				loader->get("glGetShaderPrecisionFormat");
gl->getShaderSource						= (glGetShaderSourceFunc)						loader->get("glGetShaderSource");
gl->getShaderiv							= (glGetShaderivFunc)							loader->get("glGetShaderiv");
gl->getString							= (glGetStringFunc)								loader->get("glGetString");
gl->getTexParameterfv					= (glGetTexParameterfvFunc)						loader->get("glGetTexParameterfv");
gl->getTexParameteriv					= (glGetTexParameterivFunc)						loader->get("glGetTexParameteriv");
gl->getUniformLocation					= (glGetUniformLocationFunc)					loader->get("glGetUniformLocation");
gl->getUniformfv						= (glGetUniformfvFunc)							loader->get("glGetUniformfv");
gl->getUniformiv						= (glGetUniformivFunc)							loader->get("glGetUniformiv");
gl->getVertexAttribPointerv				= (glGetVertexAttribPointervFunc)				loader->get("glGetVertexAttribPointerv");
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->isFramebuffer						= (glIsFramebufferFunc)							loader->get("glIsFramebuffer");
gl->isProgram							= (glIsProgramFunc)								loader->get("glIsProgram");
gl->isRenderbuffer						= (glIsRenderbufferFunc)						loader->get("glIsRenderbuffer");
gl->isShader							= (glIsShaderFunc)								loader->get("glIsShader");
gl->isTexture							= (glIsTextureFunc)								loader->get("glIsTexture");
gl->lineWidth							= (glLineWidthFunc)								loader->get("glLineWidth");
gl->linkProgram							= (glLinkProgramFunc)							loader->get("glLinkProgram");
gl->pixelStorei							= (glPixelStoreiFunc)							loader->get("glPixelStorei");
gl->polygonOffset						= (glPolygonOffsetFunc)							loader->get("glPolygonOffset");
gl->readPixels							= (glReadPixelsFunc)							loader->get("glReadPixels");
gl->releaseShaderCompiler				= (glReleaseShaderCompilerFunc)					loader->get("glReleaseShaderCompiler");
gl->renderbufferStorage					= (glRenderbufferStorageFunc)					loader->get("glRenderbufferStorage");
gl->sampleCoverage						= (glSampleCoverageFunc)						loader->get("glSampleCoverage");
gl->scissor								= (glScissorFunc)								loader->get("glScissor");
gl->shaderBinary						= (glShaderBinaryFunc)							loader->get("glShaderBinary");
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->texImage2D							= (glTexImage2DFunc)							loader->get("glTexImage2D");
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->texSubImage2D						= (glTexSubImage2DFunc)							loader->get("glTexSubImage2D");
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->uniform2f							= (glUniform2fFunc)								loader->get("glUniform2f");
gl->uniform2fv							= (glUniform2fvFunc)							loader->get("glUniform2fv");
gl->uniform2i							= (glUniform2iFunc)								loader->get("glUniform2i");
gl->uniform2iv							= (glUniform2ivFunc)							loader->get("glUniform2iv");
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->uniform4f							= (glUniform4fFunc)								loader->get("glUniform4f");
gl->uniform4fv							= (glUniform4fvFunc)							loader->get("glUniform4fv");
gl->uniform4i							= (glUniform4iFunc)								loader->get("glUniform4i");
gl->uniform4iv							= (glUniform4ivFunc)							loader->get("glUniform4iv");
gl->uniformMatrix2fv					= (glUniformMatrix2fvFunc)						loader->get("glUniformMatrix2fv");
gl->uniformMatrix3fv					= (glUniformMatrix3fvFunc)						loader->get("glUniformMatrix3fv");
gl->uniformMatrix4fv					= (glUniformMatrix4fvFunc)						loader->get("glUniformMatrix4fv");
gl->useProgram							= (glUseProgramFunc)							loader->get("glUseProgram");
gl->validateProgram						= (glValidateProgramFunc)						loader->get("glValidateProgram");
gl->vertexAttrib1f						= (glVertexAttrib1fFunc)						loader->get("glVertexAttrib1f");
gl->vertexAttrib1fv						= (glVertexAttrib1fvFunc)						loader->get("glVertexAttrib1fv");
gl->vertexAttrib2f						= (glVertexAttrib2fFunc)						loader->get("glVertexAttrib2f");
gl->vertexAttrib2fv						= (glVertexAttrib2fvFunc)						loader->get("glVertexAttrib2fv");
gl->vertexAttrib3f						= (glVertexAttrib3fFunc)						loader->get("glVertexAttrib3f");
gl->vertexAttrib3fv						= (glVertexAttrib3fvFunc)						loader->get("glVertexAttrib3fv");
gl->vertexAttrib4f						= (glVertexAttrib4fFunc)						loader->get("glVertexAttrib4f");
gl->vertexAttrib4fv						= (glVertexAttrib4fvFunc)						loader->get("glVertexAttrib4fv");
gl->vertexAttribPointer					= (glVertexAttribPointerFunc)					loader->get("glVertexAttribPointer");
gl->viewport							= (glViewportFunc)								loader->get("glViewport");
