summaryrefslogtreecommitdiff
path: root/src/webGLWorker.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/webGLWorker.js')
-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'];