aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-04-09 15:25:01 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-04-09 15:25:01 -0700
commit92491f7a86440d3d1776fda00d8755f47a1215a0 (patch)
tree3387c2f271c81b4862211d6914f09e9774c49a92 /src
parent584ab7bf76e0f7d3b5fa4a84749794df21bc6774 (diff)
parent3f5b456ce4c5de9721c6c837f41cf80d72607c14 (diff)
Merge pull request #369 from ehsan/326
Implement glGetActiveAttrib and glGetActiveUniform
Diffstat (limited to 'src')
-rw-r--r--src/library_gl.js36
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);