From a0d23354802ebc6b437698acb4b18d3395d47cd1 Mon Sep 17 00:00:00 2001 From: hwc487 Date: Fri, 16 Mar 2012 12:26:30 -0700 Subject: Conversion to JSON based file IO for canvas2D and WebGL rendering --- js/lib/rdge/materials/bump-metal-material.js | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'js/lib/rdge/materials/bump-metal-material.js') diff --git a/js/lib/rdge/materials/bump-metal-material.js b/js/lib/rdge/materials/bump-metal-material.js index fa6f5300..4a6e9ab8 100755 --- a/js/lib/rdge/materials/bump-metal-material.js +++ b/js/lib/rdge/materials/bump-metal-material.js @@ -152,6 +152,50 @@ var BumpMetalMaterial = function BumpMetalMaterial() { } }; + this.exportJSON = function() + { + var world = this.getWorld(); + if (!world) + throw new Error( "no world in material.export, " + this.getName() ); + + var jObj = + { + 'material' : this.getShaderName(), + 'name' : this.getName(), + 'lightDiff' : this.getLightDiff(), + 'diffuseTexture' : this.getDiffuseTexture(), + 'specularTexture' : this.getSpecularTexture(), + 'normalMap' : this.getNormalTexture() + }; + + return jObj; + }; + + this.importJSON = function( jObj ) + { + if (this.getShaderName() != jObj.material) throw new Error( "ill-formed material" ); + this.setName( jObj.name ); + + try + { + var lightDiff = jObj.lightDiff, + dt = jObj.diffuseTexture, + st = jObj.specularTexture, + nt = jObj.normalMap; + + this.setProperty( "lightDiff", lightDiff); + this.setProperty( "diffuseTexture", dt ); + this.setProperty( "specularTexture", st ); + this.setProperty( "normalMap", nt ); + } + catch (e) + { + throw new Error( "could not import BumpMetal material: " + jObj ); + } + + return; + }; + this.export = function() { // every material needs the base type and instance name -- cgit v1.2.3 From eb59a523258cad3351cba9bf8de986e90a8e5b1c Mon Sep 17 00:00:00 2001 From: hwc487 Date: Wed, 21 Mar 2012 15:17:58 -0700 Subject: Added material library data to the canvas data. --- js/lib/rdge/materials/bump-metal-material.js | 4 ---- 1 file changed, 4 deletions(-) (limited to 'js/lib/rdge/materials/bump-metal-material.js') diff --git a/js/lib/rdge/materials/bump-metal-material.js b/js/lib/rdge/materials/bump-metal-material.js index 4a6e9ab8..2ef83227 100755 --- a/js/lib/rdge/materials/bump-metal-material.js +++ b/js/lib/rdge/materials/bump-metal-material.js @@ -154,10 +154,6 @@ var BumpMetalMaterial = function BumpMetalMaterial() { this.exportJSON = function() { - var world = this.getWorld(); - if (!world) - throw new Error( "no world in material.export, " + this.getName() ); - var jObj = { 'material' : this.getShaderName(), -- cgit v1.2.3