aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library_gl.js28
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);