UFX.gl: convenience functions for WebGL contexts
Christopher Night edited this page Jun 5, 2016
·
1 revision
// gl is a regular WebGLRenderingContext object with some additional methods
var gl = UFX.gl(canvas)
// prog is a regular WebGLProgram object with some additional methods and members
var prog = gl.buildProgram("vshadersource", "fshadersource")
// Same as buildProgram, but adds the prog object as gl.progs.progname
gl.addProgram("progname", "vshadersource", "fshadersource")
prog.use(): invokes gl.useProgram
prog.set(values): set uniforms and attributes
prog.set: uniform or attribute name -> setter
prog.uniforms: uniform name -> WebGLUniformLocation object
prog.uniforminfo: uniform name -> WebGLActiveInfo object
prog.setUniform: uniform name -> setter
prog.setUniformv: uniform name -> setter
prog.setUniformMatrix: uniform name -> setter
prog.attribs: attribute name -> attribute index
prog.attribinfo: attribute name -> WebGLActiveInfo object
prog.setAttrib: attribute name -> setter
prog.setAttribv: attribute name -> setter
If prog
is an already-existing, regular WebGLProgram object, you can add the convenience methods to it by calling extendProgram
:
gl.extendProgram(prog)
gl.buildTexture
gl.dumpTexture(texture, w, h)
gl.getTypeLetter(type) -> "i" or "f"
gl.getTypeSize(type) -> 1, 2, 3, or 4
gl.isMatrixType(type) -> false or true
gl.makeFloatBuffer(dataArray)