Skip to content

Instantly share code, notes, and snippets.

@haxiomic
Created April 10, 2019 13:53
Show Gist options
  • Save haxiomic/9c697be7483a0f431f3c374de7df6759 to your computer and use it in GitHub Desktop.
Save haxiomic/9c697be7483a0f431f3c374de7df6759 to your computer and use it in GitHub Desktop.
# Global State
[select object]
- activeTexture(unit:TextureUnit)
- bindBuffer(target:BufferTarget, buffer:GLBuffer)
- bindFramebuffer(target:FramebufferTarget, framebuffer:GLFramebuffer)
- bindRenderbuffer(target:RenderbufferTarget, renderbuffer:GLRenderbuffer)
- bindTexture(target:TextureTarget, texture:GLTexture)
- useProgram(program:GLProgram)
[primtive draw state]
- enable/disable(cap:Capability)
- CULL_FACE
- BLEND
- DITHER
- STENCIL_TEST
- DEPTH_TEST
- SCISSOR_TEST
- POLYGON_OFFSET_FILL
- SAMPLE_ALPHA_TO_COVERAGE
- SAMPLE_COVERAGE
[blending]
- blendColor(red:GLclampf, green:GLclampf, blue:GLclampf, alpha:GLclampf)
- blendEquation(mode:BlendEquation)
- blendEquationSeparate(modeRGB:BlendEquation, modeAlpha:BlendEquation):Void
- blendFunc(sfactor:BlendFactor, dfactor:BlendFactor):Void
- blendFuncSeparate(srcRGB:BlendFactor, dstRGB:BlendFactor, srcAlpha:BlendFactor, dstAlpha:BlendFactor):Void
[channel mask]
- colorMask(red:Bool, green:Bool, blue:Bool, alpha:Bool)
- depthMask(flag:Bool):Void
[face culling]
- cullFace(mode:CullFaceMode)
- frontFace(mode:FrontFaceDirection)
[depth pass options]
- depthFunc(func:ComparisonFunction):Void
- depthRange(zNear:GLclampf, zFar:GLclampf):Void
[geometry rasterization]
- polygonOffset(factor:GLfloat, units:GLfloat)
- lineWidth(width:GLfloat)
- sampleCoverage(value:GLclampf, invert:Bool)
[scissor]
- scissor(x:GLint, y:GLint, width:GLsizei, height:GLsizei)
[stencil]
- stencilFunc(func:ComparisonFunction, ref:GLint, mask:GLuint)
- stencilFuncSeparate(face:CullFaceMode, func:ComparisonFunction, ref:GLint, mask:GLuint)
- stencilMask(mask:GLuint)
- stencilMaskSeparate(face:CullFaceMode, mask:GLuint)
- stencilOp(fail:Operation, zfail:Operation, zpass:Operation)
- stencilOpSeparate(face:CullFaceMode, fail:Operation, zfail:Operation, zpass:Operation)
[viewport]
- viewport(x:GLint, y:GLint, width:GLsizei, height:GLsizei)
[primitive clear state]
- clearColor(red:GLclampf, green:GLclampf, blue:GLclampf, alpha:GLclampf)
- clearDepth(depth:GLclampf)
- clearStencil(s:GLint)
[attribute slots] //(see github.com/BabylonJS/Babylon.js/pull/1300)
- enableVertexAttribArray(index:GLuint)
- disableVertexAttribArray(index:GLuint)
- vertexAttrib1f(index:GLuint, x:GLfloat)
- vertexAttrib1fv(index:GLuint, values:haxe.io.Float32Array)
- vertexAttrib2f(index:GLuint, x:GLfloat, y:GLfloat)
- vertexAttrib2fv(index:GLuint, values:haxe.io.Float32Array)
- vertexAttrib3f(index:GLuint, x:GLfloat, y:GLfloat, z:GLfloat)
- vertexAttrib3fv(index:GLuint, values:haxe.io.Float32Array)
- vertexAttrib4f(index:GLuint, x:GLfloat, y:GLfloat, z:GLfloat, w:GLfloat)
- vertexAttrib4fv(index:GLuint, values:haxe.io.Float32Array)
- vertexAttribPointer(index:GLuint, size:GLint, type:DataType, normalized:Bool, stride:GLsizei, offset:GLintptr)
[texture mipmapping]
- hint(target:HintTarget, mode:HintMode)
[texture data packing]
- pixelStorei<T>(pname:PixelStoreParameter<T>, param:T)
# Global State Query
- getError():ErrorCode
[select object]
[draw primtive state]
[blending]
[channel mask]
[face culling]
[depth pass options]
[geometry rasterization]
[scissor]
[stencil]
[viewport]
[clear primitive state]
[texture mipmapping]
[texture data packing]
[context]
- getParameter<T>(pname:Parameter<T>):T
[draw primtive state]
- isEnabled(cap:Capability):Bool
[attribute slots] //(see github.com/BabylonJS/Babylon.js/pull/1300)
- getVertexAttrib<T>(index:GLuint, pname:VertexAttributeParameter<T>):T
- getVertexAttribOffset(index:GLuint, pname:VertexAttributePointer):GLintptr
# Global Immutable Query
- getContextAttributes():GLContextAttributes
- getSupportedExtensions():Array<String>
- getExtension(name:String):Dynamic
- getShaderPrecisionFormat(shadertype:ShaderType, precisiontype:PrecisionType):GLShaderPrecisionFormat
# Global Actions
- finish()
- flush()
[read]
- readPixels(x:GLint, y:GLint, width:GLsizei, height:GLsizei, format:PixelFormat, type:PixelType, pixels:haxe.io.ArrayBufferView)
[render]
- clear(mask:ClearBufferMask)
- drawArrays(mode:DrawMode, first:GLint, count:GLsizei)
- drawElements(mode:DrawMode, count:GLsizei, type:DataType, offset:GLintptr)
[object]
- createBuffer():GLBuffer
- createFramebuffer():GLFramebuffer
- createProgram():GLProgram
- createRenderbuffer():GLRenderbuffer
- createShader(type:ShaderType):GLShader
- createTexture():GLTexture
- deleteBuffer(buffer:GLBuffer)
- deleteFramebuffer(framebuffer:GLFramebuffer)
- deleteProgram(program:GLProgram)
- deleteRenderbuffer(renderbuffer:GLRenderbuffer)
- deleteShader(shader:GLShader)
- deleteTexture(texture:GLTexture)
- isBuffer(buffer:GLBuffer):Bool
- isFramebuffer(framebuffer:GLFramebuffer):Bool
- isProgram(program:GLProgram):Bool
- isRenderbuffer(renderbuffer:GLRenderbuffer):Bool
- isShader(shader:GLShader):Bool
- isTexture(texture:GLTexture):Bool
# Objects
# Program
- attachShader(program:GLProgram, shader:GLShader)
- detachShader(program:GLProgram, shader:GLShader)
- getAttachedShaders(program:GLProgram):Array<GLShader>
- bindAttribLocation(program:GLProgram, index:GLuint, name:String)
- getAttribLocation(program:GLProgram, name:String):GLint
- getActiveAttrib(program:GLProgram, index:GLuint):GLActiveInfo
- getActiveUniform(program:GLProgram, index:GLuint):GLActiveInfo
- getProgramParameter<T>(program:GLProgram, pname:ProgramParameter<T>):T
- getProgramInfoLog(program:GLProgram):String
- getUniform(program:GLProgram, location:GLUniformLocation):Dynamic
- getUniformLocation(program:GLProgram, name:String):GLUniformLocation
- linkProgram(program:GLProgram)
- validateProgram(program:GLProgram)
<useProgram()>
- uniform1f(location:GLUniformLocation, x:GLfloat)
- uniform1fv(location:GLUniformLocation, v:haxe.io.Float32Array)
- uniform1i(location:GLUniformLocation, x:GLint)
- uniform1iv(location:GLUniformLocation, v:haxe.io.Int32Array)
- uniform2f(location:GLUniformLocation, x:GLfloat, y:GLfloat)
- uniform2fv(location:GLUniformLocation, v:haxe.io.Float32Array)
- uniform2i(location:GLUniformLocation, x:GLint, y:GLint)
- uniform2iv(location:GLUniformLocation, v:haxe.io.Int32Array)
- uniform3f(location:GLUniformLocation, x:GLfloat, y:GLfloat, z:GLfloat)
- uniform3fv(location:GLUniformLocation, v:haxe.io.Float32Array)
- uniform3i(location:GLUniformLocation, x:GLint, y:GLint, z:GLint)
- uniform3iv(location:GLUniformLocation, v:haxe.io.Int32Array)
- uniform4f(location:GLUniformLocation, x:GLfloat, y:GLfloat, z:GLfloat, w:GLfloat)
- uniform4fv(location:GLUniformLocation, v:haxe.io.Float32Array)
- uniform4i(location:GLUniformLocation, x:GLint, y:GLint, z:GLint, w:GLint)
- uniform4iv(location:GLUniformLocation, v:haxe.io.Int32Array)
- uniformMatrix2fv(location:GLUniformLocation, transpose:Bool, value:haxe.io.Float32Array)
- uniformMatrix3fv(location:GLUniformLocation, transpose:Bool, value:haxe.io.Float32Array)
- uniformMatrix4fv(location:GLUniformLocation, transpose:Bool, value:haxe.io.Float32Array)
# Shader
- compileShader(shader:GLShader)
- getShaderParameter<T>(shader:GLShader, pname:ShaderParameter<T>):T
- getShaderInfoLog(shader:GLShader):String
- getShaderSource(shader:GLShader):String
- shaderSource(shader:GLShader, source:String)
# Buffer
<bindBuffer(target:BufferTarget, buffer:GLBuffer)>
- bufferData(target:BufferTarget, data:BufferDataSource, usage:BufferUsage)
- bufferSubData(target:BufferTarget, offset:GLintptr, data:BufferDataSource)
- getBufferParameter<T>(target:BufferTarget, pname:BufferParameter<T>):T
# Framebuffer
<bindFramebuffer(target:FramebufferTarget, framebuffer:GLFramebuffer)>
- checkFramebufferStatus(target:FramebufferTarget):FramebufferStatus
- framebufferRenderbuffer(target:FramebufferTarget, attachment:FramebufferAttachement, renderbuffertarget:RenderbufferTarget, renderbuffer:GLRenderbuffer)
- framebufferTexture2D(target:FramebufferTarget, attachment:FramebufferAttachement, textarget:TextureTarget, texture:GLTexture, level:GLint)
- getFramebufferAttachmentParameter<T>(target:FramebufferTarget, attachment:FramebufferAttachement, pname:FramebufferAttachmentParameter<T>):T
# Renderbuffer
<bindRenderbuffer(target:RenderbufferTarget, renderbuffer:GLRenderbuffer)>
- getRenderbufferParameter<T>(target:RenderbufferTarget, pname:RenderbufferParameter<T>):T
- renderbufferStorage(target:RenderbufferTarget, internalformat:RenderbufferFormat, width:GLsizei, height:GLsizei)
# Texture
<bindTexture(target:TextureTarget, texture:GLTexture)>
- compressedTexImage2D(target:TextureTarget, level:GLint, internalformat:PixelFormat, width:GLsizei, height:GLsizei, border:GLint, imageSize:GLsizei, data:haxe.io.ArrayBufferView)
- compressedTexSubImage2D(target:TextureTarget, level:GLint, xoffset:GLint, yoffset:GLint, width:GLsizei, height:GLsizei, format:PixelFormat, data:haxe.io.ArrayBufferView)
- copyTexImage2D(target:TextureTarget, level:GLint, internalformat:PixelFormat, x:GLint, y:GLint, width:GLsizei, height:GLsizei, border:GLint)
- copyTexSubImage2D(target:TextureTarget, level:GLint, xoffset:GLint, yoffset:GLint, x:GLint, y:GLint, width:GLsizei, height:GLsizei)
- generateMipmap(target:TextureTarget)
- getTexParameter<T>(target:TextureTarget, pname:TextureParameter<T>):T
- texImage2D(target:TextureTarget, level:GLint, internalformat:GLint, width:GLsizei, height:GLsizei, border:GLint, format:PixelFormat, type:PixelType, pixels:haxe.io.ArrayBufferView)
- texImage2DSource(target:TextureTarget, level:GLint, internalformat:GLint, format:PixelFormat, type:PixelType, source:TexImageSource)
- texParameterf<T:GLfloat>(target:TextureTarget, pname:TextureParameter<T>, param:T)
- texParameteri<T:GLint>(target:TextureTarget, pname:TextureParameter<T>, param:T)
- texSubImage2D(target:TextureTarget, level:GLint, xoffset:GLint, yoffset:GLint, width:GLsizei, height:GLsizei, format:PixelFormat, type:PixelType, pixels:haxe.io.ArrayBufferView)
- texSubImage2DSource(target:TextureTarget, level:GLint, xoffset:GLint, yoffset:GLint, format:PixelFormat, type:PixelType, source:TexImageSource)
- !<see global texture state>!
[texture mipmapping]
[texture data packing]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment