diff options
author | Ehsan Akhgari <ehsan.akhgari@gmail.com> | 2012-02-11 18:18:54 -0500 |
---|---|---|
committer | Ehsan Akhgari <ehsan.akhgari@gmail.com> | 2012-03-28 10:53:21 -0700 |
commit | af436e6ae0162a92d3db643814fcecbf3d9ad22b (patch) | |
tree | 0c0ed7f58485a25d861068c0d556a18c23e51e51 /src/library_gl.js | |
parent | e26d4c91a023737cddef58608e535e275f8ae56b (diff) |
Implement renderbuffer functions
Diffstat (limited to 'src/library_gl.js')
-rw-r--r-- | src/library_gl.js | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/library_gl.js b/src/library_gl.js index e724ee7c..73ab72da 100644 --- a/src/library_gl.js +++ b/src/library_gl.js @@ -235,6 +235,39 @@ var LibraryGL = { Module.ctx.bufferData(target, floatArray, usage); }, + glGenRenderbuffers__deps: ['$GL'], + glGenRenderbuffers: function(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = GL.hashtable("renderbuffer").add(Module.ctx.createRenderbuffer()); + {{{ makeSetValue('renderbuffers', 'i', 'id', 'i32') }}}; + } + }, + + glDeleteRenderbuffers: function(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = {{{ makeGetValue('renderbuffers', 'i', 'i32') }}}; + Module.ctx.deleteRenderbuffer(GL.hashtable("renderbuffer").get(id)); + GL.hashtable("renderbuffer").remove(id); + } + }, + + glBindRenderbuffer: function(target, renderbuffer) { + Module.ctx.bindRenderbuffer(target, GL.hashtable("renderbuffer").get(renderbuffer)); + }, + + glGetRenderbufferParameteriv: function(target, pname, params) { + {{{ makeSetValue('params', '0', 'Module.ctx.getRenderbufferParameter(target, pname)', 'i32') }}}; + }, + + glIsRenderbuffer_deps: ['$GL'], + glIsRenderbuffer: function(renderbuffer) { + var fb = GL.hashtable("renderbuffer").get(renderbuffer); + if (typeof(fb) == 'undefined') { + return false; + } + return Module.ctx.isRenderbuffer(fb); + }, + glBindAttribLocation_deps: ['$GL'], glGetUniformLocation: function(program, name) { name = Pointer_stringify(name); @@ -538,7 +571,7 @@ var LibraryGL = { [1, 'clearDepth depthFunc enable disable frontFace cullFace clear enableVertexAttribArray disableVertexAttribArray lineWidth clearStencil depthMask stencilMask stencilMaskSeparate checkFramebufferStatus activeTexture'], [2, 'pixelStorei vertexAttrib1f depthRange polygonOffset blendFunc'], [3, 'texParameteri texParameterf drawArrays vertexAttrib2f'], - [4, 'viewport clearColor scissor vertexAttrib3f colorMask drawElements'], + [4, 'viewport clearColor scissor vertexAttrib3f colorMask drawElements renderbufferStorage'], [5, 'vertexAttrib4f'], [6, 'vertexAttribPointer']].forEach(function(data) { var num = data[0]; |