aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael J. Bishop <mbtyke@gmail.com>2013-03-16 19:34:23 -0400
committerMichael J. Bishop <mbtyke@gmail.com>2013-03-16 19:34:23 -0400
commitcb49e9a7e958dba8984c16c4445e83e24be24a3c (patch)
tree4a7caf239f4c91118692a1de5347c842298d9ef2
parent3baf8e7f6927ba173e8c797f20ddef98179f898e (diff)
When finding renderers in the cache, the stride of the current vertex
buffer object is also taken into account. This fixes a problem where a renderer could be used to draw a vertex buffer object with a different stride value than the renderer captured when the renderer was created.
-rw-r--r--src/library_gl.js2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index 031f4560..297a36cf 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -1874,6 +1874,8 @@ var LibraryGL = {
var typeIndex = attribute.type - GL.byteSizeByTypeRoot; // ensure it starts at 0 to keep the cache items dense
temp = cacheItem[typeIndex];
cacheItem = temp ? temp : (cacheItem[typeIndex] = GL.immediate.rendererCacheItemTemplate.slice());
+ temp = cacheItem[attribute.stride];
+ cacheItem = temp ? temp : (cacheItem[attribute.stride] = GL.immediate.rendererCacheItemTemplate.slice());
}
var fogParam;
if (GLEmulation.fogEnabled) {