diff options
Diffstat (limited to 'src/webGLWorker.js')
-rw-r--r-- | src/webGLWorker.js | 15 |
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']; |