aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-04-18 15:25:00 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-04-18 15:25:00 -0700
commitb89463c712d84b4fe28ae86198266690edd26e45 (patch)
treed4da353afc03a55f71ac66e839b4bafceb28e2ac
parentdd3adf74e00236547e4a74d91098d38134dd3dd2 (diff)
fix shader generator
-rw-r--r--src/library_gl.js7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index 98033a10..167aba8b 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -1113,7 +1113,7 @@ var LibraryGL = {
if (this.renderers[renderer]) return;
// Create renderer
- var vertexSize = 0;
+ var vertexSize = 0, positionSize = 0, positionOffset = 0, textureSize = 0, textureOffset = 0;
for (var i = 0; i < renderer.length; i+=2) {
var which = renderer[i];
var size = parseInt(renderer[i+1]);
@@ -1123,11 +1123,14 @@ var LibraryGL = {
} else if (which == 'T') {
textureSize = size;
textureOffset = vertexSize;
+ } else {
+ throw 'Cannot create shader rendederer for ' + renderer;
}
vertexSize += size * 4; // XXX assuming float
}
+ assert(positionSize > 0);
+ assert(textureSize > 0);
// TODO: verify vertexSize is equal to the stride in enabled client arrays
- // TODO: assert that we can create the renderer type we were asked
// TODO: use bufferSubData to prevent reallocation of new buffers? Or all on GPU and doesn't matter? Anyhow, use DYNAMIC as hint
this.renderers[renderer] = {
vertexSize: vertexSize,