diff options
author | Nivesh Rajbhandari | 2012-03-26 17:36:27 -0700 |
---|---|---|
committer | Nivesh Rajbhandari | 2012-03-26 17:36:27 -0700 |
commit | 723ea402b74efa0424b96c7e125c8ebb2b72410c (patch) | |
tree | 261ad196fc851ea78359ca2bdb653ccacce535d1 | |
parent | 21ed09eedee336e69ce2e0f9fd254eb989227adf (diff) | |
download | ninja-723ea402b74efa0424b96c7e125c8ebb2b72410c.tar.gz |
Fixed issue with WebGL materials not working after file-save or chrome-preview. Also fixed Raiders material not showing in the PI or working during Chrome Preview.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
-rw-r--r-- | assets/canvas-runtime.js | 1 | ||||
-rwxr-xr-x | js/lib/drawing/world.js | 21 | ||||
-rwxr-xr-x | js/lib/geom/geom-obj.js | 2 | ||||
-rw-r--r-- | js/lib/rdge/materials/radial-blur-material.js | 18 | ||||
-rwxr-xr-x | js/models/materials-model.js | 1 |
5 files changed, 37 insertions, 6 deletions
diff --git a/assets/canvas-runtime.js b/assets/canvas-runtime.js index dd909e26..f53a4ef6 100644 --- a/assets/canvas-runtime.js +++ b/assets/canvas-runtime.js | |||
@@ -527,6 +527,7 @@ function RuntimeGeomObj() | |||
527 | case "deform": | 527 | case "deform": |
528 | case "water": | 528 | case "water": |
529 | case "paris": | 529 | case "paris": |
530 | case "raiders": | ||
530 | case "tunnel": | 531 | case "tunnel": |
531 | case "reliefTunnel": | 532 | case "reliefTunnel": |
532 | case "squareTunnel": | 533 | case "squareTunnel": |
diff --git a/js/lib/drawing/world.js b/js/lib/drawing/world.js index 781695b6..fec6a478 100755 --- a/js/lib/drawing/world.js +++ b/js/lib/drawing/world.js | |||
@@ -761,13 +761,10 @@ World.prototype.exportJSON = function() | |||
761 | // We need to rebuild everything | 761 | // We need to rebuild everything |
762 | if (this._useWebGL) | 762 | if (this._useWebGL) |
763 | { | 763 | { |
764 | var root = this._rootNode; | ||
765 | root.children = new Array(); | ||
766 | if (worldObj.children && (worldObj.children.length === 1)) | 764 | if (worldObj.children && (worldObj.children.length === 1)) |
767 | { | 765 | { |
768 | this.init(); | 766 | this.rebuildTree(this._geomRoot); |
769 | this._geomRoot = undefined; | 767 | this.restartRenderLoop(); |
770 | this.importObjectsJSON( worldObj.children[0] ); | ||
771 | } | 768 | } |
772 | } | 769 | } |
773 | 770 | ||
@@ -783,6 +780,20 @@ World.prototype.exportJSON = function() | |||
783 | return jStr; | 780 | return jStr; |
784 | } | 781 | } |
785 | 782 | ||
783 | World.prototype.rebuildTree = function( obj ) | ||
784 | { | ||
785 | if (!obj) return; | ||
786 | |||
787 | obj.buildBuffers(); | ||
788 | |||
789 | if (obj.getChild()) { | ||
790 | this.rebuildTree( obj.getChild () ); | ||
791 | } | ||
792 | |||
793 | if (obj.getNext()) | ||
794 | this.rebuildTree( obj.getNext() ); | ||
795 | } | ||
796 | |||
786 | World.prototype.exportObjectsJSON = function( obj, parentObj ) | 797 | World.prototype.exportObjectsJSON = function( obj, parentObj ) |
787 | { | 798 | { |
788 | if (!obj) return; | 799 | if (!obj) return; |
diff --git a/js/lib/geom/geom-obj.js b/js/lib/geom/geom-obj.js index a87bdbf5..3c4e4bbf 100755 --- a/js/lib/geom/geom-obj.js +++ b/js/lib/geom/geom-obj.js | |||
@@ -302,6 +302,7 @@ var GeomObj = function GLGeomObj() { | |||
302 | case "deform": | 302 | case "deform": |
303 | case "water": | 303 | case "water": |
304 | case "paris": | 304 | case "paris": |
305 | case "raiders": | ||
305 | case "tunnel": | 306 | case "tunnel": |
306 | case "reliefTunnel": | 307 | case "reliefTunnel": |
307 | case "squareTunnel": | 308 | case "squareTunnel": |
@@ -375,6 +376,7 @@ var GeomObj = function GLGeomObj() { | |||
375 | case "deform": | 376 | case "deform": |
376 | case "water": | 377 | case "water": |
377 | case "paris": | 378 | case "paris": |
379 | case "raiders": | ||
378 | case "tunnel": | 380 | case "tunnel": |
379 | case "reliefTunnel": | 381 | case "reliefTunnel": |
380 | case "squareTunnel": | 382 | case "squareTunnel": |
diff --git a/js/lib/rdge/materials/radial-blur-material.js b/js/lib/rdge/materials/radial-blur-material.js index f4a4baa2..fee02a1d 100644 --- a/js/lib/rdge/materials/radial-blur-material.js +++ b/js/lib/rdge/materials/radial-blur-material.js | |||
@@ -282,10 +282,26 @@ var RaidersMaterial = function RaidersMaterial() | |||
282 | this.inheritedFrom(); | 282 | this.inheritedFrom(); |
283 | 283 | ||
284 | this._name = "RaidersMaterial"; | 284 | this._name = "RaidersMaterial"; |
285 | this._shaderName = "radialBlur"; | 285 | this._shaderName = "raiders"; |
286 | 286 | ||
287 | this._texMap = 'assets/images/raiders.png'; | 287 | this._texMap = 'assets/images/raiders.png'; |
288 | this._propValues[ this._propNames[0] ] = this._texMap.slice(0); | 288 | this._propValues[ this._propNames[0] ] = this._texMap.slice(0); |
289 | |||
290 | |||
291 | // duplcate method requirde | ||
292 | this.dup = function( world ) { | ||
293 | // allocate a new uber material | ||
294 | var newMat = new RaidersMaterial(); | ||
295 | |||
296 | // copy over the current values; | ||
297 | var propNames = [], propValues = [], propTypes = [], propLabels = []; | ||
298 | this.getAllProperties( propNames, propValues, propTypes, propLabels); | ||
299 | var n = propNames.length; | ||
300 | for (var i=0; i<n; i++) | ||
301 | newMat.setProperty( propNames[i], propValues[i] ); | ||
302 | |||
303 | return newMat; | ||
304 | }; | ||
289 | } | 305 | } |
290 | 306 | ||
291 | RaidersMaterial.prototype = new Material(); | 307 | RaidersMaterial.prototype = new Material(); |
diff --git a/js/models/materials-model.js b/js/models/materials-model.js index 692ac09a..44364aa2 100755 --- a/js/models/materials-model.js +++ b/js/models/materials-model.js | |||
@@ -238,6 +238,7 @@ exports.MaterialsModel = Montage.create(Component, { | |||
238 | case "fly": mat = new FlyMaterial(); break; | 238 | case "fly": mat = new FlyMaterial(); break; |
239 | case "water": mat = new WaterMaterial(); break; | 239 | case "water": mat = new WaterMaterial(); break; |
240 | case "paris": mat = new ParisMaterial(); break; | 240 | case "paris": mat = new ParisMaterial(); break; |
241 | case "raiders": mat = new RaidersMaterial(); break; | ||
241 | case "zinvert": mat = new ZInvertMaterial(); break; | 242 | case "zinvert": mat = new ZInvertMaterial(); break; |
242 | case "deform": mat = new DeformMaterial(); break; | 243 | case "deform": mat = new DeformMaterial(); break; |
243 | case "star": mat = new StarMaterial(); break; | 244 | case "star": mat = new StarMaterial(); break; |