diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-06-06 18:05:58 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-06-06 18:05:58 -0700 |
commit | 559b1af7c3f6bba5dff4127e431d650a3bf33e71 (patch) | |
tree | 81fce341acefcf8e68d673ab8198130af5b8be57 /src | |
parent | d8f33afa263d8243ef393ce359647b4a803c18dc (diff) |
getProgramParameter
Diffstat (limited to 'src')
-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']; |