diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-04-09 15:25:01 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-04-09 15:25:01 -0700 |
commit | 92491f7a86440d3d1776fda00d8755f47a1215a0 (patch) | |
tree | 3387c2f271c81b4862211d6914f09e9774c49a92 /src | |
parent | 584ab7bf76e0f7d3b5fa4a84749794df21bc6774 (diff) | |
parent | 3f5b456ce4c5de9721c6c837f41cf80d72607c14 (diff) |
Merge pull request #369 from ehsan/326
Implement glGetActiveAttrib and glGetActiveUniform
Diffstat (limited to 'src')
-rw-r--r-- | src/library_gl.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/library_gl.js b/src/library_gl.js index 3ec7c81e..97a050d5 100644 --- a/src/library_gl.js +++ b/src/library_gl.js @@ -393,6 +393,24 @@ var LibraryGL = { return id; }, + glGetActiveUniform: function(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = Module.ctx.getActiveUniform(program, index); + + var infoname = info.name.slice(0, bufsize - 1); + writeStringToMemory(infoname, name); + + if (length) { + {{{ makeSetValue('length', '0', 'infoname.length', 'i32') }}}; + } + if (size) { + {{{ makeSetValue('size', '0', 'info.size', 'i32') }}}; + } + if (type) { + {{{ makeSetValue('type', '0', 'info.type', 'i32') }}}; + } + }, + glUniform1f: function(location, v0) { location = GL.uniforms[location]; Module.ctx.uniform1f(location, v0); @@ -538,6 +556,24 @@ var LibraryGL = { return Module.ctx.getAttribLocation(program, name); }, + glGetActiveAttrib: function(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = Module.ctx.getActiveAttrib(program, index); + + var infoname = info.name.slice(0, bufsize - 1); + writeStringToMemory(infoname, name); + + if (length) { + {{{ makeSetValue('length', '0', 'infoname.length', 'i32') }}}; + } + if (size) { + {{{ makeSetValue('size', '0', 'info.size', 'i32') }}}; + } + if (type) { + {{{ makeSetValue('type', '0', 'info.type', 'i32') }}}; + } + }, + glCreateShader: function(shaderType) { var id = GL.counter++; GL.shaders[id] = Module.ctx.createShader(shaderType); |