summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-06-06 18:05:58 -0700
committerAlon Zakai <alonzakai@gmail.com>2014-06-06 18:05:58 -0700
commit559b1af7c3f6bba5dff4127e431d650a3bf33e71 (patch)
tree81fce341acefcf8e68d673ab8198130af5b8be57
parentd8f33afa263d8243ef393ce359647b4a803c18dc (diff)
getProgramParameter
-rw-r--r--src/webGLWorker.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/webGLWorker.js b/src/webGLWorker.js
index 4a1f8164..0e349f5f 100644
--- a/src/webGLWorker.js
+++ b/src/webGLWorker.js
@@ -518,6 +518,21 @@ function WebGLWorker() {
this.linkProgram = function(program) {
commandBuffer.push('linkProgram', 1, program.id);
};
+ this.getProgramParameter = function(program, name) {
+ if (name === this.ACTIVE_UNIFORMS) {
+ // parse shader sources, make a guess...
+ var uniforms = [];
+ program.shaders.forEach(function(shader) {
+ var newUniforms = shader.source.match(/uniform\s+\w+\s+(\w+);/g);
+ if (!newUniforms) return;
+ uniforms = uniforms.concat(newUniforms.filter(function(uniform) {
+ return uniforms.indexOf(uniform) < 0;
+ }));
+ });
+ return uniforms.length;
+ }
+ throw 'bad getProgramParameter ' + revname(name);
+ };
// Setup
var postMainLoop = Module['postMainLoop'];