aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-04-13 18:08:28 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-04-13 18:08:28 -0700
commit02b5bd72bd7b4248d0f57595f511a7371f836ae4 (patch)
treecae8c56b8fd85ab5f2d785e499e6a25fcdef26e5 /src
parentef59099ffccfa09f82cf7f3d18b702a114aed0b0 (diff)
add final missing parts of webgl spec
Diffstat (limited to 'src')
-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);