aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEhsan Akhgari <ehsan.akhgari@gmail.com>2012-04-04 23:01:25 -0400
committerEhsan Akhgari <ehsan.akhgari@gmail.com>2012-04-04 23:01:25 -0400
commit0e3a9f23a329a967ffb7b2b7983013d4d055ac36 (patch)
treef861fe2eb64070f4f2aa0f589276a29b4a6c7f7b /src
parentab132fdcc406dd971e9b07719ae8f97c787d0273 (diff)
Implement glUniformNiv functions
Diffstat (limited to 'src')
-rw-r--r--src/library_gl.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index 85c0290e..6f99969e 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -436,6 +436,33 @@ var LibraryGL = {
Module.ctx.uniform4i(location, v0, v1, v2, v3);
},
+ glUniform1iv: function(location, count, value) {
+ location = GL.uniforms[location];
+ value = new Int32Array(TypedArray_copy(value, count*4)); // TODO: optimize
+ Module.ctx.uniform1iv(location, value);
+ },
+
+ glUniform2iv: function(location, count, value) {
+ location = GL.uniforms[location];
+ count *= 2;
+ value = new Int32Array(TypedArray_copy(value, count*4)); // TODO: optimize
+ Module.ctx.uniform2iv(location, value);
+ },
+
+ glUniform3iv: function(location, count, value) {
+ location = GL.uniforms[location];
+ count *= 3;
+ value = new Int32Array(TypedArray_copy(value, count*4)); // TODO: optimize
+ Module.ctx.uniform3iv(location, value);
+ },
+
+ glUniform4iv: function(location, count, value) {
+ location = GL.uniforms[location];
+ count *= 4;
+ value = new Int32Array(TypedArray_copy(value, count*4)); // TODO: optimize
+ Module.ctx.uniform4iv(location, value);
+ },
+
glUniform1fv: function(location, count, value) {
location = GL.uniforms[location];
value = new Float32Array(TypedArray_copy(value, count*4)); // TODO: optimize