diff options
author | Nivesh Rajbhandari | 2012-02-09 10:09:13 -0800 |
---|---|---|
committer | Nivesh Rajbhandari | 2012-02-09 10:09:13 -0800 |
commit | 191cb96b3b4e1e5aa805211e5ab8dbd6aa075881 (patch) | |
tree | db6ebd5061c482110ae21f9898ff26d5c6fd7f7b /js/helper-classes/RDGE/src/core/script/renderer.js | |
parent | 64524c693e09646a0db05d772311247a56194ac9 (diff) | |
download | ninja-191cb96b3b4e1e5aa805211e5ab8dbd6aa075881.tar.gz |
Merging WebGL changes that allow users to modify different shape instances. Also, merging in changes that improve rendering performance by not updating static materials.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
Diffstat (limited to 'js/helper-classes/RDGE/src/core/script/renderer.js')
-rw-r--r-- | js/helper-classes/RDGE/src/core/script/renderer.js | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/js/helper-classes/RDGE/src/core/script/renderer.js b/js/helper-classes/RDGE/src/core/script/renderer.js index 0c51d2cb..a50b8a68 100644 --- a/js/helper-classes/RDGE/src/core/script/renderer.js +++ b/js/helper-classes/RDGE/src/core/script/renderer.js | |||
@@ -335,14 +335,19 @@ _renderer = function(canvas) { | |||
335 | 335 | ||
336 | var tex = this.textureMap[name]; | 336 | var tex = this.textureMap[name]; |
337 | 337 | ||
338 | if (tex === undefined) { | 338 | if (tex === undefined) |
339 | 339 | { | |
340 | |||
341 | // load the texture | 340 | // load the texture |
342 | tex = this.createTexture(name + ext, wrap, mips); | 341 | tex = this.createTexture(name + ext, wrap, mips); |
343 | this.textureMap[name] = tex; | 342 | this.textureMap[name] = tex; |
344 | tex.lookUpName = name; | 343 | tex.lookUpName = name; |
344 | tex.previouslyReferenced = false; | ||
345 | } | 345 | } |
346 | else | ||
347 | { | ||
348 | //console.log( "texture already loaded: " + name ); | ||
349 | tex.previouslyReferenced = true; | ||
350 | } | ||
346 | 351 | ||
347 | return tex; | 352 | return tex; |
348 | 353 | ||
@@ -354,9 +359,11 @@ _renderer = function(canvas) { | |||
354 | * @param wrap - optional "CLAMP or "REPEAT", default is clamp | 359 | * @param wrap - optional "CLAMP or "REPEAT", default is clamp |
355 | * @param mips - optional true/false value to create mipmaps, the default is true | 360 | * @param mips - optional true/false value to create mipmaps, the default is true |
356 | */ | 361 | */ |
362 | this.unloadedTextureCount = 0; | ||
357 | _texparams = function(wrap, mips) { this.wrap = wrap, this.mips = mips }; | 363 | _texparams = function(wrap, mips) { this.wrap = wrap, this.mips = mips }; |
358 | this.createTexture = function(url, wrap, mips) { | 364 | this.createTexture = function(url, wrap, mips) { |
359 | var texture = this.ctx.createTexture(); | 365 | var texture = this.ctx.createTexture(); |
366 | this.unloadedTextureCount++; | ||
360 | 367 | ||
361 | if (wrap === undefined) | 368 | if (wrap === undefined) |
362 | wrap = "CLAMP"; | 369 | wrap = "CLAMP"; |
@@ -371,7 +378,20 @@ _renderer = function(canvas) { | |||
371 | texture.image.onload = function() { | 378 | texture.image.onload = function() { |
372 | var stateMan = this.context.ctxStateManager; | 379 | var stateMan = this.context.ctxStateManager; |
373 | stateMan.RDGEInitState.loadTexture(texture); | 380 | stateMan.RDGEInitState.loadTexture(texture); |
381 | this.context.renderer.unloadedTextureCount--; | ||
382 | //console.log( "loaded texture: " + texture.lookUpName + ",to: " + this.context.renderer._world._worldCount + ", textures remaining to load: " + this.context.renderer.unloadedTextureCount ); | ||
383 | if (texture.callback) texture.callback( texture ); | ||
384 | if (this.context.renderer.unloadedTextureCount < 0) | ||
385 | console.log( "more textures loaded then created..." ); | ||
374 | }; | 386 | }; |
387 | texture.image.onerror = function() { | ||
388 | this.context.renderer.unloadedTextureCount--; | ||
389 | if (texture.callback) texture.callback( texture ); | ||
390 | //console.log( "Error loading texture: " + texture.image.src ); | ||
391 | if (this.context.renderer.unloadedTextureCount < 0) | ||
392 | console.log( "more textures loaded then created..." ); | ||
393 | } | ||
394 | |||
375 | } | 395 | } |
376 | return texture; | 396 | return texture; |
377 | } | 397 | } |
@@ -544,8 +564,10 @@ _renderer = function(canvas) { | |||
544 | */ | 564 | */ |
545 | rdgeDefaultShaderDefintion = { | 565 | rdgeDefaultShaderDefintion = { |
546 | 'shaders': { | 566 | 'shaders': { |
547 | 'defaultVShader':"assets/shaders/test_vshader.glsl", | 567 | //'defaultVShader':"assets/shaders/test_vshader.glsl", |
548 | 'defaultFShader':"assets/shaders/test_fshader.glsl" | 568 | //'defaultFShader':"assets/shaders/test_fshader.glsl" |
569 | 'defaultVShader':"assets/shaders/Basic.vert.glsl", | ||
570 | 'defaultFShader':"assets/shaders/Basic.frag.glsl" | ||
549 | }, | 571 | }, |
550 | 'techniques': { | 572 | 'techniques': { |
551 | 'defaultTechnique':[{ | 573 | 'defaultTechnique':[{ |