Abstract API for OpenGL.
Types
FramebufferTarget = enum ftRead, ftDraw
- Source Edit
BufferTarget = enum btArray, btElementArray, btPixelPack, btPixelUnpack
- Source Edit
TextureTarget = enum ttTexture1D, ttTexture1DArray, ttTexture2D, ttTexture2DMultisample, ttTexture2DArray, ttTexture2DMultisampleArray, ttTexture3D, ttTextureCubeMapPosX, ttTextureCubeMapNegX, ttTextureCubeMapPosY, ttTextureCubeMapNegY, ttTextureCubeMapPosZ, ttTextureCubeMapNegZ
- Source Edit
OpenGlFeature = enum glfBlend, glfColorLogicOp, glfCullFace, glfDepthTest, glfDither, glfLineSmooth, glfMultisample, glfPolygonSmooth, glfPrimitiveRestart, glfScissorTest, glfStencilTest, glfTextureCubeMapSeamless, glfProgramPointSize
- Source Edit
VertexArray = object buffers: array[BufferTarget, GlUint] id*: GlUint
- Source Edit
Framebuffer = ref object id*: GlUint drawBuffers: seq[GlEnum]
- Source Edit
OpenGl = ref object version*: string sBlendColor: tuple[r, g, b, a: GlClampf] sBlendEquation: tuple[rgb, alpha: GlEnum] sBlendFunc: tuple[srcRgb, destRgb, srcAlpha, destAlpha: GlEnum] sBuffers: array[BufferTarget, GlUint] sClearColor: tuple[r, g, b, a: GlClampf] sClearDepth: GlClampd sClearStencil: GlInt sColorMask: tuple[r, g, b, a: GlBool] sCullFace: GlEnum sDepthFunc: GlEnum sDepthMask: bool sEnabledFeatures: array[OpenGlFeature, bool] sFramebuffers: tuple[read, draw: Framebuffer] sFrontFace: GlEnum sHints: array[Hint, GlEnum] sLogicOp: GlEnum sLineWidth: GlFloat sPointSize: GlFloat sPolygonModes: array[Facing, GlEnum] sPrimitiveRestartIndex: GlUint sProgram: GlUint sRenderbuffer: GlUint sSamplerBindings: seq[GlUint] sScissor: tuple[x, y: GlInt, width, height: GlSizei] sStencilFuncs: array[Facing, tuple[fn: GlEnum, refr: GlInt, mask: GlUint]] sStencilMasks: array[Facing, GlUint] sStencilOps: array[Facing, tuple[sfail, dpfail, dppass: GlEnum]] sTextureUnit: int sTextureUnitBindings: seq[array[TextureTarget, GlUint]] sVertexArray: VertexArray sViewport: tuple[x, y: GlInt, w, h: GlSizei] uniformTextureUnit: int currentDrawParamsHash*: Hash defaultFramebufferSamples*: int defaultFramebuffer*: Framebuffer glActiveTexture: proc (texture: GlEnum) {...}{.cdecl.} glBindBuffer: proc (target: GlEnum; buffer: GlUint) {...}{.cdecl.} glBindFramebuffer: proc (target: GlEnum; framebuffer: GlUint) {...}{.cdecl.} glBindRenderbuffer: proc (target: GlEnum; renderbuffer: GlUint) {...}{.cdecl.} glBindSampler: proc (unit, sampler: GlUint) {...}{.cdecl.} glBindTexture: proc (target: GlEnum; texture: GlUint) {...}{.cdecl.} glBindVertexArray: proc (array: GlUint) {...}{.cdecl.} glBlendColor: proc (r, g, b, a: GlClampf) {...}{.cdecl.} glBlendEquationSeparate: proc (modeRGB, modeAlpha: GlEnum) {...}{.cdecl.} glBlendFuncSeparate: proc (srcRGB, destRGB: GlEnum; srcAlpha, destAlpha: GlEnum) {...}{. cdecl.} glClear: proc (targets: GlBitfield) {...}{.cdecl.} glClearColor: proc (r, g, b, a: GlClampf) {...}{.cdecl.} glClearDepth: proc (depth: GlClampd) {...}{.cdecl.} glClearStencil: proc (stencil: GlInt) {...}{.cdecl.} glColorMask: proc (r, g, b, a: GlBool) {...}{.cdecl.} glCullFace: proc (mode: GlEnum) {...}{.cdecl.} glDepthFunc: proc (fn: GlEnum) {...}{.cdecl.} glDepthMask: proc (mask: GlBool) {...}{.cdecl.} glDrawBuffers: proc (n: GlSizei; bufs: ptr GlEnum) {...}{.cdecl.} glDisable: proc (cap: GlEnum) {...}{.cdecl.} glEnable: proc (cap: GlEnum) {...}{.cdecl.} glFrontFace: proc (mode: GlEnum) {...}{.cdecl.} glHint: proc (target, mode: GlEnum) {...}{.cdecl.} glLineWidth: proc (width: GlFloat) {...}{.cdecl.} glLogicOp: proc (opcode: GlEnum) {...}{.cdecl.} glPixelStorei: proc (pname: GlEnum; param: GlInt) {...}{.cdecl.} glPointSize: proc (size: GlFloat) {...}{.cdecl.} glPolygonMode: proc (face, mode: GlEnum) {...}{.cdecl.} glPrimitiveRestartIndex: proc (index: GlUint) {...}{.cdecl.} glScissor: proc (x, y: GlInt; width, height: GlSizei) {...}{.cdecl.} glStencilFuncSeparate: proc (face, fn: GlEnum; reference: GlInt; mask: GlUint) {...}{.cdecl.} glStencilMaskSeparate: proc (face: GlEnum; mask: GlUint) {...}{.cdecl.} glStencilOpSeparate: proc (face, sfail, dpfail, dppass: GlEnum) {...}{.cdecl.} glUseProgram: proc (program: GlUint) {...}{.cdecl.} glViewport: proc (x, y: GlInt; width, height: GlSizei) {...}{.cdecl.} glAttachShader: proc (program, shader: GlUint) {...}{.cdecl.} glBindAttribLocation: proc (program, index: GlUint; name: cstring) {...}{.cdecl.} glBlitFramebuffer: proc (srcX0, srcY0, srcX1, srcY1: GlInt; destX0, destY0, destX1, destY1: GlInt; mask: GlBitfield; filter: GlEnum) {...}{.cdecl.} glBufferData: proc (target: GlEnum; size: GlSizeiptr; data: pointer; usage: GlEnum) {...}{. cdecl.} glBufferSubData: proc (target: GlEnum; offset: GlIntptr; size: GlSizeiptr; data: pointer) {...}{.cdecl.} glCheckFramebufferStatus: proc (target: GlEnum): GlEnum {...}{.cdecl.} glClientWaitSync: proc (sync: GlSync; flags: GlBitfield; timeout: GlUint64): GlEnum {...}{. cdecl.} glCompileShader: proc (shader: GlUint) {...}{.cdecl.} glCreateProgram: proc (): GlUint {...}{.cdecl.} glCreateShader: proc (shaderType: GlEnum): GlUint {...}{.cdecl.} glDeleteBuffers: proc (n: GlSizei; buffers: pointer) {...}{.cdecl.} glDeleteFramebuffers: proc (n: GlSizei; framebuffers: pointer) {...}{.cdecl.} glDeleteRenderbuffers: proc (n: GlSizei; renderbuffers: pointer) {...}{.cdecl.} glDeleteProgram: proc (program: GlUint) {...}{.cdecl.} glDeleteSamplers: proc (n: GlSizei; samplers: pointer) {...}{.cdecl.} glDeleteShader: proc (shader: GlUint) {...}{.cdecl.} glDeleteSync: proc (sync: GlSync) {...}{.cdecl.} glDeleteTextures: proc (n: GlSizei; textures: pointer) {...}{.cdecl.} glDeleteVertexArrays: proc (n: GlSizei; arrays: pointer) {...}{.cdecl.} glDisableVertexAttribArray: proc (index: GlUint) {...}{.cdecl.} glDrawArrays: proc (mode: GlEnum; first: GlInt; count: GlSizei) {...}{.cdecl.} glDrawArraysInstanced: proc (mode: GlEnum; first: GlInt; count, primCount: GlSizei) {...}{. cdecl.} glDrawElements: proc (mode: GlEnum; count: GlSizei; kind: GlEnum; indices: pointer) {...}{. cdecl.} glDrawElementsInstanced: proc (mode: GlEnum; count: GlSizei; kind: GlEnum; indices: pointer; primCount: GlSizei) {...}{.cdecl.} glEnableVertexAttribArray: proc (index: GlUint) {...}{.cdecl.} glFenceSync: proc (condition: GlEnum; flags: GlBitfield): GlSync {...}{.cdecl.} glFramebufferRenderbuffer: proc (target, attachment: GlEnum; renderbufferTarget: GlEnum; renderbuffer: GlUint) {...}{. cdecl.} glFramebufferTexture1D: proc (target, attachment, texTarget: GlEnum; texture: GlUint; level: GlInt) {...}{.cdecl.} glFramebufferTexture2D: proc (target, attachment, texTarget: GlEnum; texture: GlUint; level: GlInt) {...}{.cdecl.} glFramebufferTextureLayer: proc (target, attachment: GlEnum; texture: GlUint; level, layer: GlInt) {...}{.cdecl.} glGenBuffers: proc (n: GlSizei; buffers: pointer) {...}{.cdecl.} glGenFramebuffers: proc (n: GlSizei; framebuffers: pointer) {...}{.cdecl.} glGenRenderbuffers: proc (n: GlSizei; renderbuffers: pointer) {...}{.cdecl.} glGenSamplers: proc (n: GlSizei; samplers: pointer) {...}{.cdecl.} glGenTextures: proc (n: GlSizei; textures: pointer) {...}{.cdecl.} glGenVertexArrays: proc (n: GlSizei; arrays: pointer) {...}{.cdecl.} glGenerateMipmap: proc (target: GlEnum) {...}{.cdecl.} glGetError: proc (): GlEnum {...}{.cdecl.} glGetProgramInfoLog: proc (program: GlUint; maxLen: GlSizei; length: ptr GlSizei; infoLog: cstring) {...}{.cdecl.} glGetProgramiv: proc (program: GlUint; pname: GlEnum; params: pointer) {...}{.cdecl.} glGetShaderInfoLog: proc (shader: GlUint; maxLen: GlSizei; length: ptr GlSizei; infoLog: cstring) {...}{.cdecl.} glGetShaderiv: proc (shader: GlUint; pname: GlEnum; params: pointer) {...}{.cdecl.} glGetString: proc (name: GlEnum): cstring {...}{.cdecl.} glGetIntegerv: proc (pname: GlEnum; params: pointer) {...}{.cdecl.} glGetTexImage: proc (target: GlEnum; level: GlInt; format, typ: GlEnum; image: pointer) {...}{. cdecl.} glGetUniformLocation: proc (program: GlUint; name: cstring): GlInt {...}{.cdecl.} glLinkProgram: proc (program: GlUint) {...}{.cdecl.} glMapBuffer: proc (target, access: GlEnum): pointer {...}{.cdecl.} glReadPixels: proc (x, y: GlInt; width, height: GlSizei; format, typ: GlEnum; data: pointer) {...}{.cdecl.} glRenderbufferStorageMultisample: proc (target: GlEnum; samples: GlSizei; internalFormat: GlEnum; width, height: GlSizei) {...}{.cdecl.} glSamplerParameteri: proc (sampler: GlUint; pname: GlEnum; param: GlInt) {...}{.cdecl.} glSamplerParameterfv: proc (sampler: GlUint; pname: GlEnum; params: pointer) {...}{.cdecl.} glShaderSource: proc (shader: GlUint; count: GlSizei; str: cstringArray; length: pointer) {...}{.cdecl.} glTexImage1D: proc (target: GlEnum; level, internalFormat: GlInt; width: GlSizei; border: GlInt; format, kind: GlEnum; data: pointer) {...}{.cdecl.} glTexImage2D: proc (target: GlEnum; level, internalFormat: GlInt; width, height: GlSizei; border: GlInt; format, kind: GlEnum; data: pointer) {...}{.cdecl.} glTexImage2DMultisample: proc (target: GlEnum; samples: GlSizei; internalFormat: GlInt; width, height: GlSizei; fixedSampleLocations: GlBool) {...}{.cdecl.} glTexImage3D: proc (target: GlEnum; level, internalFormat: GlInt; width, height, depth: GlSizei; border: GlInt; format, kind: GlEnum; data: pointer) {...}{.cdecl.} glTexImage3DMultisample: proc (target: GlEnum; samples: GlSizei; internalFormat: GlInt; width, height, depth: GlSizei; fixedSampleLocations: GlBool) {...}{.cdecl.} glTexParameteriv: proc (target, pname: GlEnum; params: ptr GlInt) {...}{.cdecl.} glTexSubImage1D: proc (target: GlEnum; level, xoffset: GlInt; width: GlSizei; format, typ: GlEnum; data: pointer) {...}{.cdecl.} glTexSubImage2D: proc (target: GlEnum; level, xoffset, yoffset: GlInt; width, height: GlSizei; format, typ: GlEnum; data: pointer) {...}{. cdecl.} glTexSubImage3D: proc (target: GlEnum; level: GlInt; xoffset, yoffset, zoffset: GlInt; width, height, depth: GlSizei; format, typ: GlEnum; data: pointer) {...}{.cdecl.} glUniform1fv, glUniform2fv, glUniform3fv, glUniform4fv, glUniform1iv, glUniform2iv, glUniform3iv, glUniform4iv, glUniform1uiv, glUniform2uiv, glUniform3uiv, glUniform4uiv: UniformVecProc glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv, glUniformMatrix2x3fv, glUniformMatrix3x2fv, glUniformMatrix2x4fv, glUniformMatrix4x2fv, glUniformMatrix3x4fv, glUniformMatrix4x3fv: UniformMatrixProc glUnmapBuffer: proc (target: GlEnum): GlBool {...}{.cdecl.} glVertexAttribPointer: proc (index: GlUint; size: GlInt; typ: GlEnum; normalized: bool; stride: GlSizei; point: pointer) {...}{. cdecl.} glVertexAttribIPointer: proc (index: GlUint; size: GlInt; typ: GlEnum; stride: GlSizei; point: pointer) {...}{.cdecl.}
- The OpenGL API and state. This object is quite a behemoth, but that's also what OpenGL is. Source Edit
Procs
proc load(gl: OpenGl; getProcAddr: proc (name: string): pointer) {...}{. raises: [Exception, OSError], tags: [RootEffect].}
- Loads OpenGL procs to the given GL instance. aglet uses a custom loader because as far as I could tell, glad doesn't support loading procs to an object. This unfortunately means that the code will need to list each and every one of the GL procs it uses, but it's a good opportunity to use some macro magic so it's not that bad. Source Edit
proc toGlEnum(hint: Hint): GlEnum {...}{.inline, raises: [], tags: [].}
- Source Edit
proc toGlEnum(facing: Facing): GlEnum {...}{.inline, raises: [], tags: [].}
- Source Edit
proc toGlEnum(mode: AccessMode): GlEnum {...}{.inline, raises: [], tags: [].}
- Source Edit
proc newGl(): OpenGl {...}{.raises: [], tags: [].}
- Source Edit
proc viewport(gl: OpenGl; x, y: GlInt; width, height: GlSizei) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc feature(gl: OpenGl; feature: OpenGlFeature; enabled: bool) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc clearColor(gl: OpenGl; r, g, b, a: GlClampf) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc clearDepth(gl: OpenGl; depth: GlClampd) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc clearStencil(gl: OpenGl; stencil: GlInt) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc bindBuffer(gl: OpenGl; target: BufferTarget; buffer: GlUint) {...}{. raises: [Exception, ValueError], tags: [RootEffect].}
- Source Edit
proc bindFramebuffer(gl: OpenGl; targets: set[FramebufferTarget]; buffer: Framebuffer) {...}{. raises: [Exception, ValueError], tags: [RootEffect].}
- Source Edit
proc bindRenderbuffer(gl: OpenGl; renderbuffer: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc bindSampler(gl: OpenGl; unit: int; sampler: GlUint) {...}{. raises: [ValueError, Exception], tags: [RootEffect].}
- Source Edit
proc textureUnit=(gl: OpenGl; unit: int) {...}{.raises: [ValueError, Exception], tags: [RootEffect].}
- Source Edit
proc bindTexture(gl: OpenGl; target: TextureTarget; texture: GlUint) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc bindVertexArray(gl: OpenGl; vao: VertexArray) {...}{.raises: [Exception, ValueError], tags: [RootEffect].}
- Source Edit
proc blendColor(gl: OpenGl; r, g, b, a: GlClampf) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc blendEquation(gl: OpenGl; colorMode, alphaMode: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc blendFunc(gl: OpenGl; srcRgb, destRgb, srcAlpha, destAlpha: GlEnum) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc colorMask(gl: OpenGl; red, green, blue, alpha: GlBool) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc cullFace(gl: OpenGl; mode: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc depthFunc(gl: OpenGl; function: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc depthMask(gl: OpenGl; enabled: bool) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc drawBuffers(gl: OpenGl; buffers: seq[GlEnum]) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc frontFace(gl: OpenGl; mode: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc hint(gl: OpenGl; hint: Hint; mode: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc logicOp(gl: OpenGl; opcode: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc lineWidth(gl: OpenGl; width: GlFloat) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc pointSize(gl: OpenGl; size: GlFloat) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc polygonMode(gl: OpenGl; facing: Facing; mode: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc primitiveRestartIndex(gl: OpenGl; index: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc scissor(gl: OpenGl; x, y: GlInt; width, height: GlSizei) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc stencilFunc(gl: OpenGl; facing: Facing; fn: GlEnum; reference: GlInt; mask: GlUint) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc stencilMask(gl: OpenGl; facing: Facing; mask: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc stencilOp(gl: OpenGl; facing: Facing; sfail, dpfail, dppass: GlEnum) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc useProgram(gl: OpenGl; program: GlUint) {...}{.raises: [Exception, ValueError], tags: [RootEffect].}
- Source Edit
proc createShader(gl: OpenGl; shaderType: GlEnum; source: string; outError: var string): Option[ GlUint] {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc createProgram(gl: OpenGl): GlUint {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc attachShader(gl: OpenGl; program, shader: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc bindAttribLocation(gl: OpenGl; program: GlUint; index: Natural; name: string) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc linkProgram(gl: OpenGl; program: GlUint): Option[string] {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc getUniformLocation(gl: OpenGl; program: GlUint; name: string): GlInt {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc resetTextureUnitCounter(gl: OpenGl) {...}{.raises: [], tags: [].}
- Source Edit
proc uniform(gl: OpenGl; loc: GlInt; u: Uniform) {...}{.raises: [Exception, ValueError], tags: [RootEffect].}
- Source Edit
proc deleteShader(gl: OpenGl; shader: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc deleteProgram(gl: OpenGl; program: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc createBuffer(gl: OpenGl): GlUint {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc bufferData(gl: OpenGl; target: BufferTarget; size: int; data: pointer; usage: GlEnum) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc bufferSubData(gl: OpenGl; target: BufferTarget; where: Slice[int]; data: pointer) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc mapBuffer(gl: OpenGl; target: BufferTarget; access: GlEnum): pointer {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc unmapBuffer(gl: OpenGl; target: BufferTarget) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc deleteBuffer(gl: OpenGl; buffer: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc createVertexArray(gl: OpenGl): VertexArray {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc vertexAttrib[T](gl: OpenGl; index, stride, offset: int)
- Source Edit
proc enableVertexAttrib(gl: OpenGl; index: int) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc disableVertexAttrib(gl: OpenGl; index: int) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc deleteVertexArray(gl: OpenGl; array: VertexArray) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc createTexture(gl: OpenGl): GlUint {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc data1D(gl: OpenGl; width: Positive; internalFormat, format, typ: GlEnum) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc data2D(gl: OpenGl; target: TextureTarget; width, height: Positive; internalFormat, format, typ: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc data2DMS(gl: OpenGl; width, height: Positive; internalFormat: GlEnum; samples: Natural; fixedSampleLocations: bool) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc data3D(gl: OpenGl; target: TextureTarget; width, height, depth: Positive; internalFormat, format, typ: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc data3DMS(gl: OpenGl; width, height, depth: Positive; internalFormat: GlEnum; samples: Natural; fixedSampleLocations: bool) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc subImage1D(gl: OpenGl; x: Natural; width: Positive; format, typ: GlEnum; data: pointer) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc subImage2D(gl: OpenGl; target: TextureTarget; x, y: Natural; width, height: Positive; format, typ: GlEnum; data: pointer) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc subImage3D(gl: OpenGl; target: TextureTarget; x, y, z: Natural; width, height, depth: Positive; format, typ: GlEnum; data: pointer) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc getImage(gl: OpenGl; target: TextureTarget; level: GlInt; format, typ: GlEnum; dest: pointer) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc genMipmaps(gl: OpenGl; target: TextureTarget) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc textureParam(gl: OpenGl; target: TextureTarget; param: GlEnum; values: ptr GlInt) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc deleteTexture(gl: OpenGl; texture: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc createSampler(gl: OpenGl): GlUint {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc samplerParam(gl: OpenGl; sampler: GlUint; param: GlEnum; value: GlInt) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc samplerParam(gl: OpenGl; sampler: GlUint; param: GlEnum; value: ptr GlFloat) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc deleteSampler(gl: OpenGl; sampler: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc createFramebuffer(gl: OpenGl): Framebuffer {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc attachRenderbuffer(gl: OpenGl; attachment: GlEnum; renderbuffer: GlUint) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc attachTexture1D(gl: OpenGl; attachment: GlEnum; texTarget: TextureTarget; texture: GlUint; mipLevel: GlInt) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc attachTexture2D(gl: OpenGl; attachment: GlEnum; texTarget: TextureTarget; texture: GlUint; mipLevel: GlInt) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc attachTextureLayer(gl: OpenGl; attachment: GlEnum; texture: GlUint; mipLevel, layer: GlInt) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc framebufferStatus(gl: OpenGl): GlEnum {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc blitFramebuffer(gl: OpenGl; srcX0, srcY0, srcX1, srcY1: GlInt; destX0, destY0, destX1, destY1: GlInt; mask: GlBitfield; filter: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc deleteFramebuffer(gl: OpenGl; framebuffer: Framebuffer) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc createRenderbuffer(gl: OpenGl): GlUint {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc renderbufferStorage(gl: OpenGl; width, height, samples: GlSizei; internalFormat: GlEnum) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc deleteRenderbuffer(gl: OpenGl; renderbuffer: GlUint) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc createFenceSync(gl: OpenGl; condition: GlEnum): GlSync {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc pollSyncStatus(gl: OpenGl; sync: GlSync; timeout: GlUint64): GlEnum {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc deleteSync(gl: OpenGl; sync: GlSync) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc drawArrays(gl: OpenGl; primitive: GlEnum; start, count: int) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc drawArraysInstanced(gl: OpenGl; primitive: GlEnum; start, count, instanceCount: int) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
proc drawElements(gl: OpenGl; primitive: GlEnum; start, count: int; indexType: GlEnum) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc drawElementsInstanced(gl: OpenGl; primitive: GlEnum; start, count, instanceCount: int; indexType: GlEnum) {...}{. raises: [Exception], tags: [RootEffect].}
- Source Edit
proc readPixels(gl: OpenGl; x, y: GlInt; width, height: GlSizei; format, typ: GlEnum; data: pointer) {...}{.raises: [Exception], tags: [RootEffect].}
- Source Edit
Exports
-
GL_RG8_SNORM, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, GL_PRIMITIVES_GENERATED, GL_POINT_SIZE_GRANULARITY, GL_TEXTURE_WRAP_R, GL_POINT, GL_INT_SAMPLER_CUBE, GL_RGB8I, GL_MAJOR_VERSION, GL_GEOMETRY_SHADER, GL_RG_INTEGER, GL_POINTS, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_MAX_SERVER_WAIT_TIMEOUT, GL_R8UI, GL_STENCIL_ATTACHMENT, GL_SYNC_GPU_COMMANDS_COMPLETE, GL_DEPTH_FUNC, GL_STENCIL_WRITEMASK, cGL_DOUBLE, GL_PROXY_TEXTURE_3D, GL_TEXTURE_COMPARE_MODE, GL_NONE, GL_VIEWPORT, GL_TRIANGLES, GL_UNPACK_SKIP_ROWS, GL_TEXTURE_MIN_FILTER, GL_RGB_INTEGER, GL_CONSTANT_COLOR, GL_CONTEXT_FLAGS, GL_SYNC_FLUSH_COMMANDS_BIT, GL_FLOAT_MAT4, GL_COMPRESSED_SIGNED_RED_RGTC1, GL_RGBA_INTEGER, GL_MAX_GEOMETRY_OUTPUT_VERTICES, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY, GL_SAMPLE_COVERAGE_INVERT, GL_RGBA, GL_COPY, GL_TEXTURE_BORDER_COLOR, GL_BUFFER_MAPPED, GL_PACK_SKIP_PIXELS, GL_TEXTURE_1D, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER, GL_STENCIL_PASS_DEPTH_FAIL, GL_TEXTURE_2D_MULTISAMPLE, GL_LINK_STATUS, GL_RGBA8_SNORM, GL_RGBA32F, GL_FIXED_ONLY, GL_RG32I, GL_RG16I, GL_TEXTURE_COMPRESSION_HINT, GL_COMPRESSED_SRGB_ALPHA, GL_MAX_VERTEX_OUTPUT_COMPONENTS, GL_ACTIVE_TEXTURE, GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER, GL_TEXTURE_DEPTH_SIZE, GL_INCR, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_LINE_SMOOTH, GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, GL_GREEN_INTEGER, GL_RGBA12, GL_MINOR_VERSION, GL_INVERT, GL_NUM_COMPRESSED_TEXTURE_FORMATS, GL_SIGNALED, GL_NO_ERROR, GL_MAX_DEPTH_TEXTURE_SAMPLES, GL_UPPER_LEFT, GL_DEPTH_ATTACHMENT, GL_MAP_INVALIDATE_RANGE_BIT, GL_DRAW_BUFFER1, GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS, GL_STENCIL_FAIL, GL_TEXTURE_DEPTH, GL_MAX_COLOR_TEXTURE_SAMPLES, GL_TIMEOUT_EXPIRED, GL_DOUBLEBUFFER, GL_TEXTURE_GREEN_SIZE, GL_R16I, GL_TRANSFORM_FEEDBACK_BUFFER, GL_R32I, GL_TIMEOUT_IGNORED, GL_ONE_MINUS_DST_COLOR, GL_INT_SAMPLER_2D, GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_LINEAR_MIPMAP_LINEAR, GL_FUNC_ADD, GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS, GL_MAX_ELEMENTS_INDICES, GL_SAMPLES, GL_RG32F, GL_DEPTH_STENCIL, GL_PROXY_TEXTURE_1D, GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT, GL_STENCIL_INDEX8, GL_MAX_FRAGMENT_UNIFORM_BLOCKS, GL_DYNAMIC_COPY, GL_MAX_VARYING_FLOATS, GL_GREEN, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_SRC1_COLOR, GL_UNPACK_ROW_LENGTH, GL_SRC1_ALPHA, GL_TUNSIGNED_SHORT, GL_CULL_FACE_MODE, GL_UNSIGNED_INT_SAMPLER_1D, GL_R32F, GL_RGBA16_SNORM, GL_POINT_SIZE_RANGE, GL_CURRENT_VERTEX_ATTRIB, GL_INT_SAMPLER_2D_ARRAY, GL_SYNC_CONDITION, GL_TEXTURE_SAMPLES, GL_INVALID_FRAMEBUFFER_OPERATION, GL_FRAMEBUFFER_UNDEFINED, GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, GL_TEXTURE_WIDTH, GL_FLOAT_MAT2, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_STREAM_COPY, GL_MAX_INTEGER_SAMPLES, GL_MAX_GEOMETRY_UNIFORM_COMPONENTS, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_BASE_LEVEL, GL_UNSIGNED_SHORT_5_6_5_REV, GL_SRGB8_ALPHA8, GL_SAMPLER_BINDING, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, GL_RG16UI, GL_AND_REVERSE, GL_NONE_OES, GL_UNSIGNED_SHORT_4_4_4_4, GL_RGB8_SNORM, GL_CLIP_DISTANCE0, GL_BLEND_EQUATION_ALPHA, GL_MAX_RENDERBUFFER_SIZE, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, GL_UNSIGNED_INT_SAMPLER_2D, GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, GL_STREAM_DRAW, GL_PACK_SWAP_BYTES, GL_RGB16UI, GL_TUNSIGNED_INT, GL_TRANSFORM_FEEDBACK_VARYINGS, GL_LEFT, GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, GL_MAX_COLOR_ATTACHMENTS, GL_TFLOAT, GL_ALREADY_SIGNALED, GL_UNSIGNED_INT_10_10_10_2, GL_POINT_SPRITE_COORD_ORIGIN, GL_TEXTURE_MAX_LOD, GL_SAMPLE_MASK_VALUE, GL_DONT_CARE, GL_SRC_ALPHA_SATURATE, GL_READ_BUFFER, GL_CURRENT_QUERY, GL_SHADING_LANGUAGE_VERSION, GL_RENDERBUFFER_BLUE_SIZE, GL_ALIASED_LINE_WIDTH_RANGE, GL_RENDERBUFFER_SAMPLES, GL_CLEAR, GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE, GL_ACTIVE_UNIFORMS, GL_UNIFORM_ARRAY_STRIDE, GL_R16, GL_PIXEL_PACK_BUFFER, GL_GEOMETRY_INPUT_TYPE, GL_R16UI, GL_RGB32UI, GL_FRONT_FACE, GL_QUERY_RESULT, GL_RGB16I, GL_ONE_MINUS_SRC1_ALPHA, GL_FILL, GL_MAX_PROGRAM_TEXEL_OFFSET, GL_MAP_UNSYNCHRONIZED_BIT, GL_TRIANGLE_FAN, GL_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_RG8, GL_NOTEQUAL, GL_CW, GL_TEXTURE_2D_ARRAY, GL_BUFFER_SIZE, GL_STENCIL_VALUE_MASK, GL_RGB12, GL_TRANSFORM_FEEDBACK_BUFFER_SIZE, GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, GL_COMPRESSED_RGBA, GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, GL_TEXTURE_RED_SIZE, GL_POINT_FADE_THRESHOLD_SIZE, GL_BLEND_DST_RGB, GL_TEXTURE_SWIZZLE_B, GL_FRAMEBUFFER_ATTACHMENT_LAYERED, GL_VERTEX_ARRAY_BINDING, GL_PROXY_TEXTURE_1D_ARRAY, GL_UNSIGNED_INT_SAMPLER_BUFFER, GL_TIMEOUT_IGNORED_APPLE, GL_FRAMEBUFFER_UNSUPPORTED, GL_OBJECT_TYPE, GL_TEXTURE_GREEN_TYPE, GL_RGB10, GL_SAMPLE_BUFFERS, GL_DRAW_BUFFER6, GL_QUERY_COUNTER_BITS, GL_UNIFORM_IS_ROW_MAJOR, GL_TEXTURE_MAG_FILTER, GL_MAX, GL_NUM_EXTENSIONS, GL_SET, GL_LESS, GL_DRAW_BUFFER, GL_MAX_RECTANGLE_TEXTURE_SIZE, GL_TEXTURE_CUBE_MAP_SEAMLESS, GL_MIN, GL_PROXY_TEXTURE_2D_ARRAY, GL_COLOR_LOGIC_OP, GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_FLOAT_VEC3, GL_UNSIGNED_INT_SAMPLER_3D, GL_DEPTH24_STENCIL8, GL_NICEST, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_ONE_MINUS_SRC_COLOR, GL_MIN_PROGRAM_TEXEL_OFFSET, GL_VERTEX_ATTRIB_ARRAY_POINTER, GL_TEXTURE_SWIZZLE_A, GL_SRC_ALPHA, GL_TEXTURE_BUFFER, GL_GEOMETRY_VERTICES_OUT, GL_QUERY_RESULT_AVAILABLE, GL_DECR, GL_UNPACK_ALIGNMENT, GL_RGB9_E5, GL_RGBA16I, GL_CULL_FACE, GL_PROXY_TEXTURE_2D_MULTISAMPLE, GL_UNIFORM_BUFFER_START, GL_TEXTURE_CUBE_MAP, GL_STATIC_READ, GL_BACK_LEFT, GL_LINEAR_MIPMAP_NEAREST, GL_SAMPLE_COVERAGE_VALUE, GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, GL_UNSIGNED_INT_5_9_9_9_REV, GL_UNIFORM_BUFFER_BINDING, GL_RG8I, GL_COMPRESSED_SIGNED_RG_RGTC2, GL_PACK_LSB_FIRST, GL_RGB32F, GL_R16_SNORM, GL_OR, GL_BUFFER_ACCESS_FLAGS, GL_INT_SAMPLER_2D_MULTISAMPLE, GL_UNPACK_SKIP_IMAGES, GL_SYNC_STATUS, GL_COPY_READ_BUFFER, GL_LINES_ADJACENCY, GL_INT_2_10_10_10_REV, GL_MAX_VIEWPORT_DIMS, GL_TEXTURE_ALPHA_TYPE, GL_TEXTURE_BUFFER_DATA_STORE_BINDING, GL_BOOL_VEC4, GL_ARRAY_BUFFER_BINDING, GL_DEPTH_RANGE, GL_MAX_TEXTURE_LOD_BIAS, GL_DRAW_BUFFER14, GL_TEXTURE_1D_ARRAY, GL_BGR, GL_TEXTURE_SHARED_SIZE, GL_BGRA, GL_PIXEL_PACK_BUFFER_BINDING, GL_DYNAMIC_READ, GL_TEXTURE0, GL_VENDOR, GL_RG32UI, GL_WRITE_ONLY, GL_MAX_VERTEX_ATTRIBS, GL_TBYTE, GL_UNPACK_IMAGE_HEIGHT, GL_UNIFORM_BLOCK_BINDING, GL_ALPHA, GL_TEXTURE_SWIZZLE_G, GL_DEPTH_COMPONENT32F, GL_CONTEXT_CORE_PROFILE_BIT, GL_COMPRESSED_TEXTURE_FORMATS, GL_INT_VEC3, GL_BACK_RIGHT, GL_POLYGON_SMOOTH, GL_FLOAT_MAT4x2, GL_LINE_SMOOTH_HINT, GL_UNIFORM_MATRIX_STRIDE, GL_R3_G3_B2, GL_RENDERBUFFER_STENCIL_SIZE, GL_UNIFORM_BUFFER_SIZE, GL_BLEND_EQUATION_RGB, GL_UNPACK_LSB_FIRST, GL_AND, GL_COMPARE_REF_TO_TEXTURE, GL_FIRST_VERTEX_CONVENTION, GL_SAMPLER_CUBE_SHADOW, GL_FRONT_LEFT, GL_LINE_WIDTH, GL_ONE_MINUS_DST_ALPHA, GL_BLUE, GL_PROVOKING_VERTEX, GL_MAX_ELEMENTS_VERTICES, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_TEXTURE_STENCIL_SIZE, GL_RGB10_A2UI, GL_R16F, GL_SRGB_ALPHA, GL_FRAMEBUFFER, GL_VERTEX_PROGRAM_POINT_SIZE, GL_DRAW_BUFFER0, GL_BUFFER_USAGE, GL_DEPTH_COMPONENT16, GL_STENCIL_BACK_VALUE_MASK, GL_MAP_READ_BIT, GL_SHADER_SOURCE_LENGTH, GL_UNPACK_SKIP_PIXELS, GL_BUFFER_MAP_LENGTH, GL_MAX_CUBE_MAP_TEXTURE_SIZE, GL_RGB16F, GL_PRIMITIVE_RESTART_INDEX, GL_COLOR_WRITEMASK, GL_COMPRESSED_RG, GL_QUERY_WAIT, GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, GL_FRAMEBUFFER_DEFAULT, GL_ACTIVE_UNIFORM_MAX_LENGTH, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_DRAW_FRAMEBUFFER_BINDING, GL_CONDITION_SATISFIED, GL_LEQUAL, GL_UNSIGNED_INT_2_10_10_10_REV, GL_INT_SAMPLER_2D_RECT, GL_TEXTURE_BINDING_BUFFER, GL_TRIANGLES_ADJACENCY, GL_SAMPLER_CUBE, GL_WAIT_FAILED, GL_TEXTURE_ALPHA_SIZE, GL_POINT_SIZE, GL_RGB4, GL_STENCIL_BACK_WRITEMASK, GL_TEXTURE_BINDING_1D_ARRAY, GL_BLEND_COLOR, GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, GL_TEXTURE_WRAP_T, GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, GL_LOGIC_OP_MODE, GL_RENDERBUFFER_GREEN_SIZE, GL_TEXTURE_COMPARE_FUNC, GL_FRAGMENT_SHADER_DERIVATIVE_HINT, GL_INT_SAMPLER_1D_ARRAY, GL_FLOAT_MAT2x3, GL_SMOOTH_POINT_SIZE_RANGE, GL_ONE_MINUS_SRC_ALPHA, GL_RGBA32UI, GL_UNSIGNED_INT_SAMPLER_1D_ARRAY, GL_DEPTH_TEST, GL_NOR, GL_ALWAYS, GL_MAX_GEOMETRY_OUTPUT_COMPONENTS, GL_FRONT_AND_BACK, GL_ACTIVE_ATTRIBUTES, GL_SAMPLER_2D_MULTISAMPLE, GL_FRAMEBUFFER_BINDING, GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, GL_STENCIL_CLEAR_VALUE, GL_DRAW_BUFFER8, GL_TEXTURE_BINDING_RECTANGLE, GL_INT_SAMPLER_3D, GL_RENDERBUFFER_RED_SIZE, GL_INT_VEC2, GL_R32UI, GL_TEXTURE_BINDING_2D_ARRAY, GL_RGBA8UI, GL_SAMPLER_2D_ARRAY_SHADOW, GL_RG16_SNORM, GL_PROXY_TEXTURE_CUBE_MAP, GL_BLEND_SRC, GL_TRANSFORM_FEEDBACK_BUFFER_MODE, GL_DYNAMIC_DRAW, GL_DELETE_STATUS, GL_TEXTURE_DEPTH_TYPE, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_STENCIL_INDEX16, GL_TEXTURE_BINDING_2D_MULTISAMPLE, GL_SAMPLE_MASK, GL_INT_SAMPLER_1D, GL_DRAW_BUFFER9, GL_DRAW_BUFFER2, GL_LOWER_LEFT, GL_TEXTURE_MIN_LOD, GL_COLOR, GL_READ_FRAMEBUFFER_BINDING, GL_BLEND_DST, GL_FUNC_SUBTRACT, GL_PROXY_TEXTURE_RECTANGLE, GL_PACK_ROW_LENGTH, GL_DEPTH_BUFFER_BIT, GL_AND_INVERTED, GL_SCISSOR_TEST, GL_POLYGON_OFFSET_LINE, GL_LINEAR, GL_SRC_COLOR, GL_UNSIGNED_INT_VEC2, GL_STEREO, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE, GL_LINE, GL_MAX_ARRAY_TEXTURE_LAYERS, GL_DEPTH_WRITEMASK, GL_STENCIL_INDEX1, GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS, GL_STENCIL, GL_SCISSOR_BOX, GL_RGB, GL_RGB8UI, GL_UNSIGNED_INT_SAMPLER_2D_RECT, GL_SYNC_FLAGS, GL_UNSIGNED_INT_VEC3, GL_GEOMETRY_OUTPUT_TYPE, GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, GL_SAMPLE_ALPHA_TO_ONE, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_DEPTH_CLEAR_VALUE, GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, GL_DST_COLOR, GL_VERSION, GL_INTERLEAVED_ATTRIBS, GL_DEPTH, GL_DECR_WRAP, GL_FLOAT_MAT3, GL_TEXTURE_BINDING_3D, GL_ELEMENT_ARRAY_BUFFER, GL_PROGRAM_POINT_SIZE, GL_STATIC_DRAW, GL_COMPRESSED_RED, GL_FLOAT_MAT2x4, GL_MAX_FRAGMENT_INPUT_COMPONENTS, GL_SAMPLER_1D_ARRAY, GL_NAND, GL_MIRRORED_REPEAT, GL_UNIFORM_NAME_LENGTH, GL_DEPTH_COMPONENT32, GL_BLUE_INTEGER, GL_TSHORT, GL_R11F_G11F_B10F, GL_SHADER_TYPE, GL_EQUAL, GL_TEXTURE_3D, GL_CONTEXT_PROFILE_MASK, GL_SAMPLER_2D_RECT_SHADOW, GL_TEXTURE_FIXED_SAMPLE_LOCATIONS, GL_DRAW_BUFFER3, GL_MAX_SAMPLES, GL_ARRAY_BUFFER, GL_COLOR_CLEAR_VALUE, GL_INT_VEC4, GL_MAX_CLIP_DISTANCES, GL_DRAW_BUFFER10, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_CLAMP_READ_COLOR, GL_RG8UI, GL_RGBA16, GL_TRIANGLE_STRIP, GL_FRONT_RIGHT, GL_COMPRESSED_RGB, GL_UNSIGNED_NORMALIZED, GL_COLOR_ATTACHMENT0, GL_DEPTH32F_STENCIL8, GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, GL_READ_WRITE, GL_TEXTURE_COMPRESSED, GL_DST_ALPHA, GL_STENCIL_PASS_DEPTH_PASS, GL_MAP_FLUSH_EXPLICIT_BIT, GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, GL_UNSIGNED_INT_24_8, GL_GEQUAL, GL_BLEND, GL_R8, GL_DEPTH_COMPONENT24, GL_RENDERBUFFER_WIDTH, GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, GL_SAMPLE_ALPHA_TO_COVERAGE, GL_DRAW_BUFFER4, GL_R8_SNORM, GL_RGBA16UI, GL_MAX_GEOMETRY_INPUT_COMPONENTS, GL_COMPRESSED_RED_RGTC1, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, GL_MAX_TEXTURE_SIZE, GL_SAMPLER_2D_RECT, GL_RGBA32I, GL_UNIFORM_BUFFER, GL_UNSIGNALED, GL_RGBA4, GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, GL_EQUIV, GL_SAMPLER_3D, GL_RGBA16F, GL_STENCIL_BACK_FUNC, GL_NEVER, GL_RGB16_SNORM, GL_FLOAT_VEC4, GL_INVALID_VALUE, GL_PRIMITIVE_RESTART, GL_RASTERIZER_DISCARD, GL_UNIFORM_TYPE, GL_COPY_WRITE_BUFFER, GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER, GL_MAX_GEOMETRY_UNIFORM_BLOCKS, GL_RENDERBUFFER, GL_CCW, GL_SMOOTH_POINT_SIZE_GRANULARITY, GL_BOOL_VEC2, GL_SEPARATE_ATTRIBS, GL_HALF_FLOAT, GL_TEXTURE_WRAP_S, GL_STENCIL_INDEX, GL_RIGHT, GL_PIXEL_UNPACK_BUFFER, GL_SYNC_FENCE, GL_RENDERER, GL_TEXTURE, GL_SMOOTH_LINE_WIDTH_GRANULARITY, GL_TEXTURE_RED_TYPE, GL_MAX_SAMPLE_MASK_WORDS, GL_UNSIGNED_INT_8_8_8_8_REV, GL_READ_FRAMEBUFFER, GL_INVALID_OPERATION, GL_VERTEX_SHADER, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_RGB10_A2, GL_UNIFORM_OFFSET, GL_UNSIGNED_SHORT_5_6_5, GL_RG16F, GL_TRUE, GL_RG, GL_STENCIL_REF, GL_ONE_MINUS_SRC1_COLOR, GL_RGBA8I, GL_READ_ONLY, GL_INVALID_ENUM, GL_TINT, GL_OR_REVERSE, GL_DRAW_BUFFER12, GL_INT_SAMPLER_BUFFER, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_HEIGHT, GL_LINE_LOOP, GL_UNSIGNED_SHORT_5_5_5_1, GL_STENCIL_BACK_REF, GL_OUT_OF_MEMORY, GL_ZERO, GL_COLOR_BUFFER_BIT, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_FRAGMENT_SHADER, GL_ELEMENT_ARRAY_BUFFER_BINDING, GL_LAST_VERTEX_CONVENTION, GL_RGB5, GL_TEXTURE_MAX_LEVEL, GL_MAP_WRITE_BIT, GL_QUERY_BY_REGION_NO_WAIT, GL_OR_INVERTED, GL_ONE_MINUS_CONSTANT_COLOR, GL_UNSIGNED_INT_SAMPLER_2D_ARRAY, GL_SIGNED_NORMALIZED, GL_BUFFER_MAP_OFFSET, GL_CONTEXT_COMPATIBILITY_PROFILE_BIT, GL_STENCIL_BUFFER_BIT, GL_SAMPLE_COVERAGE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_BLEND_DST_ALPHA, GL_ATTACHED_SHADERS, GL_BLEND_EQUATION, GL_POLYGON_OFFSET_UNITS, GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, GL_FASTEST, GL_BOOL, GL_NEAREST, GL_REPLACE, GL_PACK_SKIP_IMAGES, GL_DRAW_BUFFER11, GL_FRONT, GL_POLYGON_OFFSET_POINT, GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION, GL_MAP_INVALIDATE_BUFFER_BIT, GL_RG16, GL_R8I, GL_SRGB, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_TUNSIGNED_BYTE, GL_CLAMP_TO_EDGE, GL_TRANSFORM_FEEDBACK_BUFFER_START, GL_SAMPLER_1D_ARRAY_SHADOW, GL_TEXTURE_2D, GL_LINE_STRIP_ADJACENCY, GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT, GL_BLEND_SRC_ALPHA, GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, GL_SAMPLER_1D, GL_SAMPLER_1D_SHADOW, GL_MAX_DRAW_BUFFERS, GL_COMPRESSED_SRGB, GL_KEEP, GL_UNSIGNED_BYTE_2_3_3_REV, GL_NEAREST_MIPMAP_NEAREST, GL_RENDERBUFFER_ALPHA_SIZE, GL_RENDERBUFFER_DEPTH_SIZE, GL_REPEAT, GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, GL_SRGB8, GL_DRAW_BUFFER5, GL_LINE_WIDTH_GRANULARITY, GL_RENDERBUFFER_BINDING, GL_INFO_LOG_LENGTH, GL_CLAMP_TO_BORDER, GL_SAMPLES_PASSED, GL_RENDERBUFFER_HEIGHT, GL_TRIANGLE_STRIP_ADJACENCY, GL_MAX_COMBINED_UNIFORM_BLOCKS, GL_MAX_3D_TEXTURE_SIZE, GL_FLOAT_VEC2, GL_XOR, GL_FUNC_REVERSE_SUBTRACT, GL_VALIDATE_STATUS, GL_RGB5_A1, GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH, GL_UNIFORM_BLOCK_DATA_SIZE, GL_EXTENSIONS, GL_DRAW_FRAMEBUFFER, GL_UNSIGNED_INT_8_8_8_8, GL_BOOL_VEC3, GL_FLOAT_MAT3x4, GL_LINE_WIDTH_RANGE, GL_STREAM_READ, GL_MAX_UNIFORM_BUFFER_BINDINGS, GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, GL_SAMPLE_POSITION, GL_STENCIL_FUNC, GL_LINE_STRIP, GL_RED, GL_TEXTURE_BLUE_SIZE, GL_STATIC_COPY, GL_CONSTANT_ALPHA, GL_TEXTURE_BINDING_2D, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BINDING_1D, GL_TIME_ELAPSED, GL_ONE, GL_RGBA8, GL_MAX_VERTEX_UNIFORM_BLOCKS, GL_RGBA2, GL_SMOOTH_LINE_WIDTH_RANGE, GL_UNIFORM_SIZE, GL_COPY_INVERTED, GL_TEXTURE_BINDING_CUBE_MAP, GL_ONE_MINUS_CONSTANT_ALPHA, GL_FLOAT_MAT3x2, GL_MAX_TEXTURE_IMAGE_UNITS, GL_BACK, GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER, GL_RGB32I, GL_STENCIL_BACK_FAIL, GL_POLYGON_MODE, GL_POLYGON_OFFSET_FILL, GL_PIXEL_UNPACK_BUFFER_BINDING, GL_SAMPLER_2D_SHADOW, GL_ANY_SAMPLES_PASSED, GL_TEXTURE_BLUE_TYPE, GL_STENCIL_TEST, GL_QUERY_NO_WAIT, GL_RGB8, GL_RENDERBUFFER_INTERNAL_FORMAT, GL_BUFFER_MAP_POINTER, GL_TEXTURE_SWIZZLE_RGBA, GL_TEXTURE_RECTANGLE, GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE, GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS, GL_UNSIGNED_INT_VEC4, GL_DEPTH_STENCIL_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, GL_ACTIVE_UNIFORM_BLOCKS, GL_STENCIL_INDEX4, GL_SAMPLER_2D_ARRAY, GL_MAX_VARYING_COMPONENTS, GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, GL_SAMPLER_BUFFER, GL_INVALID_INDEX, GL_PACK_SKIP_ROWS, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, GL_UNSIGNED_INT_SAMPLER_CUBE, GL_DITHER, GL_UNIFORM_BLOCK_NAME_LENGTH, GL_COMPILE_STATUS, GL_NOOP, GL_FALSE, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS, GL_FLOAT_MAT4x3, GL_DEPTH_COMPONENT, GL_MAX_TEXTURE_BUFFER_SIZE, GL_RED_INTEGER, GL_DRAW_BUFFER15, GL_MULTISAMPLE, GL_POLYGON_SMOOTH_HINT, GL_RGB16, GL_BLEND_SRC_RGB, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_DRAW_BUFFER7, GL_DRAW_BUFFER13, GL_SUBPIXEL_BITS, GL_FRAMEBUFFER_COMPLETE, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, GL_PACK_IMAGE_HEIGHT, GL_PACK_ALIGNMENT, GL_BGR_INTEGER, GL_PROXY_TEXTURE_2D, GL_MAX_VERTEX_UNIFORM_COMPONENTS, GL_UNPACK_SWAP_BYTES, GL_SAMPLER_2D, GL_UNIFORM_BLOCK_INDEX, GL_LINES, GL_GREATER, GL_QUERY_BY_REGION_WAIT, GL_CURRENT_PROGRAM, GL_COMPRESSED_RG_RGTC2, GL_TIMESTAMP, GL_FRAMEBUFFER_SRGB, GL_INCR_WRAP, GL_UNSIGNED_BYTE_3_3_2, GL_MAX_UNIFORM_BLOCK_SIZE, GL_DEPTH_CLAMP, GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, GL_NEAREST_MIPMAP_LINEAR, GL_BGRA_INTEGER, gl_enum, GL_STENCIL_BACK_PASS_DEPTH_FAIL, GL_POLYGON_OFFSET_FACTOR, GL_BUFFER_ACCESS, GlShort, GlClampd, GlInt64, GlUshort, GlBitfield, GlSizeiptrArb, GlBool, GlHalfArb, ==, GlInt64Ext, GlHandleArb, GlUint, GlUint64Ext, GlHalfNv, GlUint64, GlInt, GlCharArb, gl_types, GlSizeiptr, GlEglImageOes, GlChar, GlClampf, GlUbyte, GlEnum, GlHalf, GlDouble, GlFloat, GlSizei, GlVdpauSurfaceNv, GlClampx, GlFixed, GlIntptrArb, GlVoid, GlByte, GlIntptr, GlSync