aboutsummaryrefslogtreecommitdiff
path: root/src/library_gl.js
diff options
context:
space:
mode:
authorEhsan Akhgari <ehsan.akhgari@gmail.com>2012-01-23 16:46:00 -0500
committerEhsan Akhgari <ehsan.akhgari@gmail.com>2012-01-23 16:46:00 -0500
commitec28552aee85e1fb2f34a0345857ceeefac778d8 (patch)
tree0f0d38ee9d66bc6647de3a1c0c8f5c1437403755 /src/library_gl.js
parentc0a15a51021509c7d7fda777635324f8080f56dc (diff)
Fix the vector variant of the uniform functions
Diffstat (limited to 'src/library_gl.js')
-rw-r--r--src/library_gl.js31
1 files changed, 20 insertions, 11 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index a3842510..a6898f8e 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -164,67 +164,76 @@ var LibraryGL = {
glUniform1fv: function(Location, count, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Float32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ value = new Float32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniform1fv(Location, value);
},
glUniform2fv: function(Location, count, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Float32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ count *= 2;
+ value = new Float32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniform2fv(Location, value);
},
glUniform3fv: function(Location, count, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Float32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ count *= 3;
+ value = new Float32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniform3fv(Location, value);
},
glUniform4fv: function(Location, count, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Float32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ count *= 4;
+ value = new Float32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniform4fv(Location, value);
},
glUniform1fi: function(Location, count, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Uint32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ value = new Uint32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniform1fi(Location, value);
},
glUniform2fi: function(Location, count, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Uint32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ count *= 2;
+ value = new Uint32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniform2fi(Location, value);
},
glUniform3fi: function(Location, count, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Uint32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ count *= 3;
+ value = new Uint32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniform3fi(Location, value);
},
glUniform4fi: function(Location, count, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Uint32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ count *= 4;
+ value = new Uint32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniform4fi(Location, value);
},
glUniformMatrix2fv: function(Location, count, transpose, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Float32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ count *= 4;
+ value = new Float32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniformMatrix2fv(Location, transpose, value);
},
glUniformMatrix3fv: function(Location, count, transpose, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Float32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ count *= 9;
+ value = new Float32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniformMatrix3fv(Location, transpose, value);
},
glUniformMatrix4fv: function(Location, count, transpose, value) {
Location = GL.hashtable("uniform").get(Location);
- value = new Float32Array(Array_copy(value, value + count*4)); // TODO: optimize
+ count *= 16;
+ value = new Float32Array(Array_copy(value, count*4)); // TODO: optimize
Module.ctx.uniformMatrix4fv(Location, transpose, value);
},