diff options
Diffstat (limited to 'src/webGLClient.js')
-rw-r--r-- | src/webGLClient.js | 135 |
1 files changed, 68 insertions, 67 deletions
diff --git a/src/webGLClient.js b/src/webGLClient.js index 1ae7332d..b3aa57b5 100644 --- a/src/webGLClient.js +++ b/src/webGLClient.js @@ -8,71 +8,71 @@ function WebGLClient() { var objects = {}; var calls = { - 0: { name: 'NULL' }, - 1: { name: 'getExtension' }, - 2: { name: 'enable' }, - 3: { name: 'disable' }, - 4: { name: 'clear' }, - 5: { name: 'clearColor' }, - 6: { name: 'createShader' }, - 7: { name: 'deleteShader' }, - 8: { name: 'shaderSource' }, - 9: { name: 'compileShader' }, - 10: { name: 'createProgram' }, - 11: { name: 'deleteProgram' }, - 12: { name: 'attachShader' }, - 13: { name: 'bindAttribLocation' }, - 14: { name: 'linkProgram' }, - 15: { name: 'getProgramParameter' }, - 16: { name: 'getUniformLocation' }, - 17: { name: 'useProgram' }, - 18: { name: 'uniform1i' }, - 19: { name: 'uniform1f' }, - 20: { name: 'uniform3fv' }, - 21: { name: 'uniform4fv' }, - 22: { name: 'uniformMatrix4fv' }, - 23: { name: 'vertexAttrib4fv' }, - 24: { name: 'createBuffer' }, - 25: { name: 'deleteBuffer' }, - 26: { name: 'bindBuffer' }, - 27: { name: 'bufferData' }, - 28: { name: 'bufferSubData' }, - 29: { name: 'viewport' }, - 30: { name: 'vertexAttribPointer' }, - 31: { name: 'enableVertexAttribArray' }, - 32: { name: 'disableVertexAttribArray' }, - 33: { name: 'drawArrays' }, - 34: { name: 'drawElements' }, - 35: { name: 'getError' }, - 36: { name: 'createTexture' }, - 37: { name: 'deleteTexture' }, - 38: { name: 'bindTexture' }, - 39: { name: 'texParameteri' }, - 40: { name: 'texImage2D' }, - 41: { name: 'compressedTexImage2D' }, - 42: { name: 'activeTexture' }, - 43: { name: 'getShaderParameter' }, - 44: { name: 'clearDepth' }, - 45: { name: 'depthFunc' }, - 46: { name: 'frontFace' }, - 47: { name: 'cullFace' }, - 48: { name: 'pixelStorei' }, - 49: { name: 'depthMask' }, - 50: { name: 'depthRange' }, - 51: { name: 'blendFunc' }, - 52: { name: 'scissor' }, - 53: { name: 'colorMask' }, - 54: { name: 'lineWidth' }, - 55: { name: 'createFramebuffer' }, - 56: { name: 'deleteFramebuffer' }, - 57: { name: 'bindFramebuffer' }, - 58: { name: 'framebufferTexture2D' }, - 59: { name: 'createRenderbuffer' }, - 60: { name: 'deleteRenderbuffer' }, - 61: { name: 'bindRenderbuffer' }, - 62: { name: 'renderbufferStorage' }, - 63: { name: 'framebufferRenderbuffer' }, - 64: { name: 'debugPrint' }, + 0: { name: 'NULL', args: 0 }, + 1: { name: 'getExtension', args: 1 }, + 2: { name: 'enable', args: 1 }, + 3: { name: 'disable', args: 1 }, + 4: { name: 'clear', args: 1 }, + 5: { name: 'clearColor', args: 4 }, + 6: { name: 'createShader', args: -2 }, + 7: { name: 'deleteShader', args: 1 }, + 8: { name: 'shaderSource', args: 2 }, + 9: { name: 'compileShader', args: 1 }, + 10: { name: 'createProgram', args: -1 }, + 11: { name: 'deleteProgram', args: 1 }, + 12: { name: 'attachShader', args: 2 }, + 13: { name: 'bindAttribLocation', args: 3 }, + 14: { name: 'linkProgram', args: 1 }, + 15: { name: 'getProgramParameter', args: 2 }, + 16: { name: 'getUniformLocation', args: -3 }, + 17: { name: 'useProgram', args: 1 }, + 18: { name: 'uniform1i', args: 2 }, + 19: { name: 'uniform1f', args: 2 }, + 20: { name: 'uniform3fv', args: 2 }, + 21: { name: 'uniform4fv', args: 2 }, + 22: { name: 'uniformMatrix4fv', args: 3 }, + 23: { name: 'vertexAttrib4fv', args: 2 }, + 24: { name: 'createBuffer', args: -1 }, + 25: { name: 'deleteBuffer', args: 1 }, + 26: { name: 'bindBuffer', args: 2 }, + 27: { name: 'bufferData', args: 3 }, + 28: { name: 'bufferSubData', args: 3 }, + 29: { name: 'viewport', args: 4 }, + 30: { name: 'vertexAttribPointer', args: 6 }, + 31: { name: 'enableVertexAttribArray', args: 1 }, + 32: { name: 'disableVertexAttribArray', args: 1 }, + 33: { name: 'drawArrays', args: 3 }, + 34: { name: 'drawElements', args: 4 }, + 35: { name: 'getError', args: 0 }, + 36: { name: 'createTexture', args: -1 }, + 37: { name: 'deleteTexture', args: 1 }, + 38: { name: 'bindTexture', args: 2 }, + 39: { name: 'texParameteri', args: 3 }, + 40: { name: 'texImage2D', args: 9 }, + 41: { name: 'compressedTexImage2D', args: 7 }, + 42: { name: 'activeTexture', args: 1 }, + 43: { name: 'getShaderParameter', args: 2 }, + 44: { name: 'clearDepth', args: 1 }, + 45: { name: 'depthFunc', args: 1 }, + 46: { name: 'frontFace', args: 1 }, + 47: { name: 'cullFace', args: 1 }, + 48: { name: 'pixelStorei', args: 2 }, + 49: { name: 'depthMask', args: 1 }, + 50: { name: 'depthRange', args: 2 }, + 51: { name: 'blendFunc', args: 2 }, + 52: { name: 'scissor', args: 4 }, + 53: { name: 'colorMask', args: 4 }, + 54: { name: 'lineWidth', args: 1 }, + 55: { name: 'createFramebuffer', args: -1 }, + 56: { name: 'deleteFramebuffer', args: 1 }, + 57: { name: 'bindFramebuffer', args: 2 }, + 58: { name: 'framebufferTexture2D', args: 5 }, + 59: { name: 'createRenderbuffer', args: -1 }, + 60: { name: 'deleteRenderbuffer', args: 1 }, + 61: { name: 'bindRenderbuffer', args: 2 }, + 62: { name: 'renderbufferStorage', args: 4 }, + 63: { name: 'framebufferRenderbuffer', args: 4 }, + 64: { name: 'debugPrint', args: 1 }, }; function fixArgs(command, args) { @@ -118,9 +118,10 @@ function WebGLClient() { var len = buffer.length; //dump('issuing commands, buffer len: ' + len + '\n'); while (i < len) { - var command = calls[buffer[i++]].name; + var info = calls[buffer[i++]]; + var command = info.name; assert(typeof command === 'string') - var numArgs = buffer[i++]; + var numArgs = info.args; assert(typeof numArgs === 'number', command); //dump('issue ' + [command, numArgs, 'peek:' + buffer.slice(i, i+5)] + '\n'); if (numArgs === 0) { |