diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-08-05 21:47:59 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-08-05 21:56:55 -0700 |
commit | d72ea764436274571c43681c3b4b40b9d021176b (patch) | |
tree | b5eb5f0e46202e5b4cef1eff672aa2254391da59 | |
parent | 9f4d1f501e6f36f3669a584f2e41e91a69de2edc (diff) |
keep rendererComponents dense
-rw-r--r-- | src/library_gl.js | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/library_gl.js b/src/library_gl.js index 47bf2806..7058440d 100644 --- a/src/library_gl.js +++ b/src/library_gl.js @@ -1387,7 +1387,7 @@ var LibraryGL = { rendererCache: null, rendererCacheItemTemplate: [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], // 16 nulls - rendererComponents: {}, // small cache for calls inside glBegin/end. counts how many times the element was seen + rendererComponents: [], // small cache for calls inside glBegin/end. counts how many times the element was seen rendererComponentPointer: 0, // next place to start a glBegin/end component lastRenderer: null, // used to avoid cleaning up and re-preparing the same renderer lastArrayBuffer: null, // used in conjunction with lastRenderer @@ -1515,8 +1515,8 @@ var LibraryGL = { }, disableBeginEndClientAttributes: function() { - for (var name in this.rendererComponents) { - this.enabledClientAttributes[name] = false; + for (var i = 0; i < this.NUM_ATTRIBUTES; i++) { + if (this.rendererComponents[i]) this.enabledClientAttributes[i] = false; } }, @@ -2035,7 +2035,10 @@ var LibraryGL = { glBegin: function(mode) { GL.immediate.mode = mode; GL.immediate.vertexCounter = 0; - GL.immediate.rendererComponents = {}; // XXX + var components = GL.immediate.rendererComponents = []; + for (var i = 0; i < GL.immediate.NUM_ATTRIBUTES; i++) { + components[i] = 0; + } GL.immediate.rendererComponentPointer = 0; GL.immediate.vertexData = GL.immediate.tempData; }, |