diff options
-rw-r--r-- | src/library_gl.js | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/library_gl.js b/src/library_gl.js index 5a13670e..8e074069 100644 --- a/src/library_gl.js +++ b/src/library_gl.js @@ -427,7 +427,7 @@ var LibraryGL = { glGetUniformiv: function(program, location, params) { var data = Module.ctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number') { + if (typeof data == 'number' || typeof data == 'boolean') { {{{ makeSetValue('params', '0', 'data', 'i32') }}}; } else { for (var i = 0; i < data.length; i++) { @@ -445,6 +445,32 @@ var LibraryGL = { return id; }, + glGetVertexAttribfv: function(index, pname, params) { + var data = Module.ctx.getVertexAttrib(index, pname); + if (typeof data == 'number') { + {{{ makeSetValue('params', '0', 'data', 'float') }}}; + } else { + for (var i = 0; i < data.length; i++) { + {{{ makeSetValue('params', 'i', 'data[i]', 'float') }}}; + } + } + }, + + glGetVertexAttribiv: function(index, pname, params) { + var data = Module.ctx.getVertexAttrib(index, pname); + if (typeof data == 'number' || typeof data == 'boolean') { + {{{ makeSetValue('params', '0', 'data', 'i32') }}}; + } else { + for (var i = 0; i < data.length; i++) { + {{{ makeSetValue('params', 'i', 'data[i]', 'i32') }}}; + } + } + }, + + glGetVertexAttribPointerv: function(index, pname, pointer) { + {{{ makeSetValue('pointer', '0', 'Module.ctx.getVertexAttribOffset(index, pname)', 'i32') }}}; + }, + glGetActiveUniform: function(program, index, bufSize, length, size, type, name) { program = GL.programs[program]; var info = Module.ctx.getActiveUniform(program, index); |