diff options
author | Michael J. Bishop <mbtyke@gmail.com> | 2013-03-16 19:34:23 -0400 |
---|---|---|
committer | Michael J. Bishop <mbtyke@gmail.com> | 2013-03-16 19:34:23 -0400 |
commit | cb49e9a7e958dba8984c16c4445e83e24be24a3c (patch) | |
tree | 4a7caf239f4c91118692a1de5347c842298d9ef2 | |
parent | 3baf8e7f6927ba173e8c797f20ddef98179f898e (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.js | 2 |
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) { |