diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-06-17 14:35:12 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-06-17 14:35:26 -0700 |
commit | 58788ba19e30125f4d577e5e19193bb287efaf28 (patch) | |
tree | 690bab39b1c7726b0449af060a54dd5f8a4d8c88 /src | |
parent | 2a0bf753441f2d5f5c9e05af9c58b8ac070651b9 (diff) |
track arrayBuffer and elementArrayBuffer locally
Diffstat (limited to 'src')
-rw-r--r-- | src/webGLWorker.js | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/webGLWorker.js b/src/webGLWorker.js index 38aafc11..b6762740 100644 --- a/src/webGLWorker.js +++ b/src/webGLWorker.js @@ -37,7 +37,9 @@ function WebGLWorker() { var nextId = 1; var bindings = { - texture2D: null + texture2D: null, + arrayBuffer: null, + elementArrayBuffer: null }; //=========== @@ -497,6 +499,12 @@ function WebGLWorker() { case this.TEXTURE_BINDING_2D: { return bindings.texture2D; } + case this.ARRAY_BUFFER_BINDING: { + return bindings.arrayBuffer; + } + case this.ELEMENT_ARRAY_BUFFER_BINDING: { + return bindings.elementArrayBuffer; + } default: throw 'TODO: get parameter ' + name + ' : ' + revname(name); } }; @@ -659,6 +667,16 @@ function WebGLWorker() { }; this.bindBuffer = function(target, buffer) { commandBuffer.push('bindBuffer', 2, target, buffer ? buffer.id : 0); + switch (target) { + case this.ARRAY_BUFFER_BINDING: { + bindings.arrayBuffer = buffer; + break; + } + case this.ELEMENT_ARRAY_BUFFER_BINDING: { + bindings.elementArrayBuffer = buffer; + break; + } + } }; this.bufferData = function(target, something, usage) { if (typeof something !== 'number') something = new something.constructor(something); |