From d044b6d9755d8ca686501fc3dd5644180e2ffbf0 Mon Sep 17 00:00:00 2001 From: hwc487 Date: Fri, 2 Mar 2012 09:36:31 -0800 Subject: WebGL File IO --- .../RDGE/Materials/BumpMetalMaterial.js | 37 ++++++++++++---------- js/helper-classes/RDGE/Materials/DeformMaterial.js | 2 +- js/helper-classes/RDGE/Materials/FlatMaterial.js | 34 +++++++++++--------- js/helper-classes/RDGE/Materials/FlyMaterial.js | 2 +- js/helper-classes/RDGE/Materials/JuliaMaterial.js | 2 +- .../RDGE/Materials/KeleidoscopeMaterial.js | 2 +- .../RDGE/Materials/LinearGradientMaterial.js | 2 +- js/helper-classes/RDGE/Materials/MandelMaterial.js | 2 +- js/helper-classes/RDGE/Materials/PlasmaMaterial.js | 2 +- js/helper-classes/RDGE/Materials/PulseMaterial.js | 2 +- .../RDGE/Materials/RadialBlurMaterial.js | 2 +- .../RDGE/Materials/RadialGradientMaterial.js | 2 +- .../RDGE/Materials/ReliefTunnelMaterial.js | 2 +- .../RDGE/Materials/SquareTunnelMaterial.js | 2 +- js/helper-classes/RDGE/Materials/StarMaterial.js | 2 +- js/helper-classes/RDGE/Materials/TaperMaterial.js | 4 +-- js/helper-classes/RDGE/Materials/TunnelMaterial.js | 2 +- js/helper-classes/RDGE/Materials/TwistMaterial.js | 2 +- .../RDGE/Materials/TwistVertMaterial.js | 2 +- js/helper-classes/RDGE/Materials/UberMaterial.js | 2 +- js/helper-classes/RDGE/Materials/WaterMaterial.js | 2 +- .../RDGE/Materials/ZInvertMaterial.js | 2 +- 22 files changed, 61 insertions(+), 52 deletions(-) (limited to 'js/helper-classes/RDGE/Materials') diff --git a/js/helper-classes/RDGE/Materials/BumpMetalMaterial.js b/js/helper-classes/RDGE/Materials/BumpMetalMaterial.js index a7a3724e..1a6c54c9 100755 --- a/js/helper-classes/RDGE/Materials/BumpMetalMaterial.js +++ b/js/helper-classes/RDGE/Materials/BumpMetalMaterial.js @@ -97,22 +97,27 @@ function BumpMetalMaterial() this.init = function( world ) { // save the world - if (world) this.setWorld( world ); - - // set up the shader - this._shader = new jshader(); - this._shader.def = bumpMetalMaterialDef; - this._shader.init(); - this._shader.default.u_light0Diff.set( this.getLightDiff() ); - - // set up the material node - this._materialNode = createMaterialNode( this.getShaderName() ); - this._materialNode.setShader(this._shader); - - // set some image maps - this.updateTexture(1); - this.updateTexture(2); - this.updateTexture(3); + if (world) + { + this.setWorld( world ); + + // set up the shader + this._shader = new jshader(); + this._shader.def = bumpMetalMaterialDef; + this._shader.init(); + this._shader.default.u_light0Diff.set( this.getLightDiff() ); + + // set up the material node + this._materialNode = createMaterialNode( this.getShaderName() + "_" + world.generateUniqueNodeID() ); + this._materialNode.setShader(this._shader); + + // set some image maps + this.updateTexture(1); + this.updateTexture(2); + this.updateTexture(3); + } + else + throw new Error( "GLWorld not supplied to material initialization" ); }; this.updateTexture = function( index ) diff --git a/js/helper-classes/RDGE/Materials/DeformMaterial.js b/js/helper-classes/RDGE/Materials/DeformMaterial.js index ddc97383..b7101227 100644 --- a/js/helper-classes/RDGE/Materials/DeformMaterial.js +++ b/js/helper-classes/RDGE/Materials/DeformMaterial.js @@ -71,7 +71,7 @@ function DeformMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("deformMaterial"); + this._materialNode = createMaterialNode("deformMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/FlatMaterial.js b/js/helper-classes/RDGE/Materials/FlatMaterial.js index 570e7f9e..eb8970b8 100755 --- a/js/helper-classes/RDGE/Materials/FlatMaterial.js +++ b/js/helper-classes/RDGE/Materials/FlatMaterial.js @@ -40,19 +40,27 @@ function FlatMaterial() // duplcate method requirde this.dup = function() { return new FlatMaterial(); } ; - this.init = function() + this.init = function( world ) { - // set up the shader - this._shader = new jshader(); - this._shader.def = flatShaderDef; - this._shader.init(); + // save the world + if (world) + { + this.setWorld( world ); + + // set up the shader + this._shader = new jshader(); + this._shader.def = flatShaderDef; + this._shader.init(); - // set the defaults - this._shader.colorMe.color.set( this.getColor() ); + // set the defaults + this._shader.colorMe.color.set( this.getColor() ); - // set up the material node - this._materialNode = createMaterialNode("flatMaterial"); - this._materialNode.setShader(this._shader); + // set up the material node + this._materialNode = createMaterialNode("flatMaterial_" + world.generateUniqueNodeID() ); + this._materialNode.setShader(this._shader); + } + else + throw new Error( "GLWorld not supplied to material initialization" ); }; @@ -83,11 +91,7 @@ function FlatMaterial() // this function should be overridden by subclasses var exportStr = "material: " + this.getShaderName() + "\n"; exportStr += "name: " + this.getName() + "\n"; - - if (this._shader) - exportStr += "color: " + String(this._shader.colorMe.color) + "\n"; - else - exportStr += "color: " + this.getColor() + "\n"; + exportStr += "color: " + String(this._propValues["color"]) + "\n"; exportStr += "endMaterial\n"; return exportStr; diff --git a/js/helper-classes/RDGE/Materials/FlyMaterial.js b/js/helper-classes/RDGE/Materials/FlyMaterial.js index 4a44e2e5..a70b53e8 100644 --- a/js/helper-classes/RDGE/Materials/FlyMaterial.js +++ b/js/helper-classes/RDGE/Materials/FlyMaterial.js @@ -71,7 +71,7 @@ function FlyMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("flyMaterial"); + this._materialNode = createMaterialNode("flyMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/JuliaMaterial.js b/js/helper-classes/RDGE/Materials/JuliaMaterial.js index f95263f4..9b5d588c 100644 --- a/js/helper-classes/RDGE/Materials/JuliaMaterial.js +++ b/js/helper-classes/RDGE/Materials/JuliaMaterial.js @@ -73,7 +73,7 @@ function JuliaMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("juliaMaterial"); + this._materialNode = createMaterialNode("juliaMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js b/js/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js index 1547aca9..af7ce97c 100644 --- a/js/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js +++ b/js/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js @@ -71,7 +71,7 @@ function KeleidoscopeMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("keleidoscopeMaterial"); + this._materialNode = createMaterialNode("keleidoscopeMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js b/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js index 7fe2be0c..2f900894 100755 --- a/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js +++ b/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js @@ -159,7 +159,7 @@ function LinearGradientMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode( this.getShaderName() ); + this._materialNode = createMaterialNode( this.getShaderName() + world.generateUniqueNodeID() ); this._materialNode.setShader(this._shader); // send the current values to the shader diff --git a/js/helper-classes/RDGE/Materials/MandelMaterial.js b/js/helper-classes/RDGE/Materials/MandelMaterial.js index 25b08404..df732ed2 100644 --- a/js/helper-classes/RDGE/Materials/MandelMaterial.js +++ b/js/helper-classes/RDGE/Materials/MandelMaterial.js @@ -74,7 +74,7 @@ function MandelMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("mandelMaterial"); + this._materialNode = createMaterialNode("mandelMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/PlasmaMaterial.js b/js/helper-classes/RDGE/Materials/PlasmaMaterial.js index a65f3a33..4e60df9f 100644 --- a/js/helper-classes/RDGE/Materials/PlasmaMaterial.js +++ b/js/helper-classes/RDGE/Materials/PlasmaMaterial.js @@ -74,7 +74,7 @@ function PlasmaMaterial() this.setProperty( "color", [this._time, 0, 0, 1] ); // set up the material node - this._materialNode = createMaterialNode("plasmaMaterial"); + this._materialNode = createMaterialNode("plasmaMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); } diff --git a/js/helper-classes/RDGE/Materials/PulseMaterial.js b/js/helper-classes/RDGE/Materials/PulseMaterial.js index d76b9966..28f2a430 100644 --- a/js/helper-classes/RDGE/Materials/PulseMaterial.js +++ b/js/helper-classes/RDGE/Materials/PulseMaterial.js @@ -105,7 +105,7 @@ function PulseMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("pulseMaterial"); + this._materialNode = createMaterialNode("pulseMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/RadialBlurMaterial.js b/js/helper-classes/RDGE/Materials/RadialBlurMaterial.js index a5fb134c..471ff3c3 100644 --- a/js/helper-classes/RDGE/Materials/RadialBlurMaterial.js +++ b/js/helper-classes/RDGE/Materials/RadialBlurMaterial.js @@ -103,7 +103,7 @@ function RadialBlurMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("radialBlurMaterial"); + this._materialNode = createMaterialNode("radialBlurMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/RadialGradientMaterial.js b/js/helper-classes/RDGE/Materials/RadialGradientMaterial.js index 12842798..4ebb1f30 100755 --- a/js/helper-classes/RDGE/Materials/RadialGradientMaterial.js +++ b/js/helper-classes/RDGE/Materials/RadialGradientMaterial.js @@ -154,7 +154,7 @@ function RadialGradientMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("radialGradientMaterial"); + this._materialNode = createMaterialNode("radialGradientMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); // set the shader values in the shader diff --git a/js/helper-classes/RDGE/Materials/ReliefTunnelMaterial.js b/js/helper-classes/RDGE/Materials/ReliefTunnelMaterial.js index 6540c3e9..ba938806 100644 --- a/js/helper-classes/RDGE/Materials/ReliefTunnelMaterial.js +++ b/js/helper-classes/RDGE/Materials/ReliefTunnelMaterial.js @@ -71,7 +71,7 @@ function ReliefTunnelMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("reliefTunnelMaterial"); + this._materialNode = createMaterialNode("reliefTunnelMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/SquareTunnelMaterial.js b/js/helper-classes/RDGE/Materials/SquareTunnelMaterial.js index 8238b651..3a8afd18 100644 --- a/js/helper-classes/RDGE/Materials/SquareTunnelMaterial.js +++ b/js/helper-classes/RDGE/Materials/SquareTunnelMaterial.js @@ -71,7 +71,7 @@ function SquareTunnelMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("squareTunnelMaterial"); + this._materialNode = createMaterialNode("squareTunnelMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/StarMaterial.js b/js/helper-classes/RDGE/Materials/StarMaterial.js index a5f188a1..ea8e4edb 100644 --- a/js/helper-classes/RDGE/Materials/StarMaterial.js +++ b/js/helper-classes/RDGE/Materials/StarMaterial.js @@ -71,7 +71,7 @@ function StarMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("starMaterial"); + this._materialNode = createMaterialNode("starMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/TaperMaterial.js b/js/helper-classes/RDGE/Materials/TaperMaterial.js index e8cc7a49..eea3f699 100644 --- a/js/helper-classes/RDGE/Materials/TaperMaterial.js +++ b/js/helper-classes/RDGE/Materials/TaperMaterial.js @@ -42,7 +42,7 @@ function TaperMaterial() // duplcate method requirde this.dup = function() { return new TaperMaterial(); } - this.init = function() + this.init = function( world ) { // set up the shader this._shader = new jshader(); @@ -53,7 +53,7 @@ function TaperMaterial() this._shader.colorMe.color.set( this.getColor() ); // set up the material node - this._materialNode = createMaterialNode("taperMaterial"); + this._materialNode = createMaterialNode("taperMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); // initialize the taper properties diff --git a/js/helper-classes/RDGE/Materials/TunnelMaterial.js b/js/helper-classes/RDGE/Materials/TunnelMaterial.js index 853a6a8d..ab69fec0 100644 --- a/js/helper-classes/RDGE/Materials/TunnelMaterial.js +++ b/js/helper-classes/RDGE/Materials/TunnelMaterial.js @@ -71,7 +71,7 @@ function TunnelMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("tunnelMaterial"); + this._materialNode = createMaterialNode("tunnelMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/TwistMaterial.js b/js/helper-classes/RDGE/Materials/TwistMaterial.js index b113965b..a52440e9 100644 --- a/js/helper-classes/RDGE/Materials/TwistMaterial.js +++ b/js/helper-classes/RDGE/Materials/TwistMaterial.js @@ -71,7 +71,7 @@ function TwistMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("twistMaterial"); + this._materialNode = createMaterialNode("twistMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/TwistVertMaterial.js b/js/helper-classes/RDGE/Materials/TwistVertMaterial.js index 853e895c..dd49555c 100644 --- a/js/helper-classes/RDGE/Materials/TwistVertMaterial.js +++ b/js/helper-classes/RDGE/Materials/TwistVertMaterial.js @@ -57,7 +57,7 @@ function TwistVertMaterial() this._shader.twistMe.color.set( this.getColor() ); // set up the material node - this._materialNode = createMaterialNode("twistVertMaterial"); + this._materialNode = createMaterialNode("twistVertMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); // initialize the twist vert properties diff --git a/js/helper-classes/RDGE/Materials/UberMaterial.js b/js/helper-classes/RDGE/Materials/UberMaterial.js index c7855c95..825f88ca 100755 --- a/js/helper-classes/RDGE/Materials/UberMaterial.js +++ b/js/helper-classes/RDGE/Materials/UberMaterial.js @@ -424,7 +424,7 @@ function UberMaterial() this._shader = this.buildUberShader( this._ubershaderCaps ); // set up the material node - this._materialNode = createMaterialNode("uberMaterial"); + this._materialNode = createMaterialNode("uberMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); }; diff --git a/js/helper-classes/RDGE/Materials/WaterMaterial.js b/js/helper-classes/RDGE/Materials/WaterMaterial.js index 101a8c0c..9ece3b45 100644 --- a/js/helper-classes/RDGE/Materials/WaterMaterial.js +++ b/js/helper-classes/RDGE/Materials/WaterMaterial.js @@ -71,7 +71,7 @@ function WaterMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("waterMaterial"); + this._materialNode = createMaterialNode("waterMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; diff --git a/js/helper-classes/RDGE/Materials/ZInvertMaterial.js b/js/helper-classes/RDGE/Materials/ZInvertMaterial.js index 2ac8920f..c25290e3 100644 --- a/js/helper-classes/RDGE/Materials/ZInvertMaterial.js +++ b/js/helper-classes/RDGE/Materials/ZInvertMaterial.js @@ -71,7 +71,7 @@ function ZInvertMaterial() this._shader.init(); // set up the material node - this._materialNode = createMaterialNode("zInvertMaterial"); + this._materialNode = createMaterialNode("zInvertMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); this._time = 0; -- cgit v1.2.3