diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-06-01 17:58:44 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-06-01 17:58:44 -0700 |
commit | 5f8fbb3431824f6c685ab51358dd97e91e14e828 (patch) | |
tree | 017de2d77b111353633f5b929d07ddfb3f20a54f /src | |
parent | 82621215747b6655e1e14bb0531ac39528969100 (diff) |
clarify the difference between drawArrays and drawElements index argument
Diffstat (limited to 'src')
-rw-r--r-- | src/library_gl.js | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/library_gl.js b/src/library_gl.js index 2abb3002..51b328be 100644 --- a/src/library_gl.js +++ b/src/library_gl.js @@ -1587,7 +1587,7 @@ var LibraryGL = { } GL.immediate.prepareClientAttributes(count, false); GL.immediate.mode = mode; - GL.immediate.flush(count, indices); + GL.immediate.flush(count, 0, indices); }; }, @@ -1640,8 +1640,9 @@ var LibraryGL = { } }, - flush: function(numProvidedIndexes, startIndex) { + flush: function(numProvidedIndexes, startIndex, ptr) { startIndex = startIndex || 0; + ptr = ptr || 0; var renderer = this.getRenderer(); @@ -1656,8 +1657,8 @@ var LibraryGL = { if (!GL.currElementArrayBuffer) { // If no element array buffer is bound, then indices is a literal pointer to clientside data Module.ctx.bindBuffer(Module.ctx.ELEMENT_ARRAY_BUFFER, this.indexObject); - Module.ctx.bufferSubData(Module.ctx.ELEMENT_ARRAY_BUFFER, 0, {{{ makeHEAPView('U16', 'startIndex', 'startIndex + numProvidedIndexes*2') }}}); - startIndex = 0; + Module.ctx.bufferSubData(Module.ctx.ELEMENT_ARRAY_BUFFER, 0, {{{ makeHEAPView('U16', 'ptr', 'ptr + numProvidedIndexes*2') }}}); + ptr = 0; emulatedElementArrayBuffer = true; } } else if (GL.immediate.mode > 6) { // above GL_TRIANGLE_FAN are the non-GL ES modes @@ -1696,7 +1697,7 @@ var LibraryGL = { renderer.prepare(); if (numIndexes) { - Module.ctx.drawElements(Module.ctx.TRIANGLES, numIndexes, Module.ctx.UNSIGNED_SHORT, startIndex); + Module.ctx.drawElements(Module.ctx.TRIANGLES, numIndexes, Module.ctx.UNSIGNED_SHORT, ptr); } else { Module.ctx.drawArrays(GL.immediate.mode, startIndex, numVertexes); } |