aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorNivesh Rajbhandari2012-03-26 17:36:27 -0700
committerNivesh Rajbhandari2012-03-26 17:36:27 -0700
commit723ea402b74efa0424b96c7e125c8ebb2b72410c (patch)
tree261ad196fc851ea78359ca2bdb653ccacce535d1 /js
parent21ed09eedee336e69ce2e0f9fd254eb989227adf (diff)
downloadninja-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>
Diffstat (limited to 'js')
-rwxr-xr-xjs/lib/drawing/world.js21
-rwxr-xr-xjs/lib/geom/geom-obj.js2
-rw-r--r--js/lib/rdge/materials/radial-blur-material.js18
-rwxr-xr-xjs/models/materials-model.js1
4 files changed, 36 insertions, 6 deletions
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
783World.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
786World.prototype.exportObjectsJSON = function( obj, parentObj ) 797World.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
291RaidersMaterial.prototype = new Material(); 307RaidersMaterial.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;