aboutsummaryrefslogtreecommitdiff
path: root/js/helper-classes/RDGE/Materials
diff options
context:
space:
mode:
authorhwc4872012-01-27 15:52:36 -0800
committerhwc4872012-01-27 15:52:36 -0800
commit86a801c057fc3b0580d6130be5740c2ee503444f (patch)
tree8b014e981273464afde4e0603cdf70c6e90eee48 /js/helper-classes/RDGE/Materials
parent302e3eb01037ff550bc93547cb8d5d0a0780b312 (diff)
downloadninja-86a801c057fc3b0580d6130be5740c2ee503444f.tar.gz
updated from old repo
Diffstat (limited to 'js/helper-classes/RDGE/Materials')
-rw-r--r--js/helper-classes/RDGE/Materials/BumpMetalMaterial.js66
-rw-r--r--js/helper-classes/RDGE/Materials/FlatMaterial.js2
-rw-r--r--js/helper-classes/RDGE/Materials/IridescentScalesMaterial.js5
-rw-r--r--js/helper-classes/RDGE/Materials/JuliaMaterial.js3
-rw-r--r--js/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js3
-rw-r--r--js/helper-classes/RDGE/Materials/LinearGradientMaterial.js4
-rw-r--r--js/helper-classes/RDGE/Materials/MandelMaterial.js4
-rw-r--r--js/helper-classes/RDGE/Materials/PulseMaterial.js15
-rw-r--r--js/helper-classes/RDGE/Materials/RadialBlurMaterial.js3
-rw-r--r--js/helper-classes/RDGE/Materials/RadialGradientMaterial.js188
-rw-r--r--js/helper-classes/RDGE/Materials/TunnelMaterial.js3
-rw-r--r--js/helper-classes/RDGE/Materials/TwistMaterial.js3
-rw-r--r--js/helper-classes/RDGE/Materials/UberMaterial.js25
13 files changed, 225 insertions, 99 deletions
diff --git a/js/helper-classes/RDGE/Materials/BumpMetalMaterial.js b/js/helper-classes/RDGE/Materials/BumpMetalMaterial.js
index 0aa3ee78..17be0cd7 100644
--- a/js/helper-classes/RDGE/Materials/BumpMetalMaterial.js
+++ b/js/helper-classes/RDGE/Materials/BumpMetalMaterial.js
@@ -22,9 +22,9 @@ function BumpMetalMaterial()
22 this._shaderName = "bumpMetal"; 22 this._shaderName = "bumpMetal";
23 23
24 this._lightDiff = [0.3, 0.3, 0.3, 1.0]; 24 this._lightDiff = [0.3, 0.3, 0.3, 1.0];
25 this._diffuseTexture = "metal"; 25 this._diffuseTexture = "assets/images/metal.png";
26 this._specularTexture = "silver"; 26 this._specularTexture = "assets/images/silver.png";
27 this._normalTexture = "normalMap"; 27 this._normalTexture = "assets/images/normalMap.png";
28 28
29 /////////////////////////////////////////////////////////////////////// 29 ///////////////////////////////////////////////////////////////////////
30 // Property Accessors 30 // Property Accessors
@@ -37,17 +37,16 @@ function BumpMetalMaterial()
37 if (this._shader && this._shader.default) 37 if (this._shader && this._shader.default)
38 this._shader.default.u_light0Diff.set( ld ); } 38 this._shader.default.u_light0Diff.set( ld ); }
39 39
40 this.getDiffuseTexture = function() { return this._diffuseTexture; } 40 this.getDiffuseTexture = function() { return this._propValues[this._propNames[1]] ? this._propValues[this._propNames[1]].slice() : null }
41 this.setDiffuseTexture = function(dt) { this._diffuseTexture = dt; 41 this.setDiffuseTexture = function(m) { this._propValues[this._propNames[1]] = m ? m.slice(0) : null; this.updateTexture(1); }
42 if (this._materialNode) this._materialNode.setDiffuseTexture( dt ); }
43 42
44 this.getSpecularTexture = function() { return this._specularTexture; } 43 this.getNormalTexture = function() { return this._propValues[this._propNames[2]] ? this._propValues[this._propNames[2]].slice() : null }
45 this.setSpecularTexture = function(st) { this._specularTexture = st; 44 this.setNormalTexture = function(m) { this._propValues[this._propNames[2]] = m ? m.slice(0) : null; this.updateTexture(2); }
46 if (this._materialNode) this._materialNode.setSpecularTexture( st ); }
47 45
48 this.getNormalTexture = function() { return this._normalTexture; } 46 this.getSpecularTexture = function() { return this._propValues[this._propNames[3]] ? this._propValues[this._propNames[3]].slice() : null }
49 this.setNormalTexture = function(nt) { this._normalTexture = nt; 47 this.setSpecularTexture = function(m) { this._propValues[this._propNames[3]] = m ? m.slice(0) : null; this.updateTexture(3); }
50 if (this._materialNode) this._materialNode.setNormalTexture( nt ); } 48
49 this.isAnimated = function() { return true; }
51 50
52 /////////////////////////////////////////////////////////////////////// 51 ///////////////////////////////////////////////////////////////////////
53 // Material Property Accessors 52 // Material Property Accessors
@@ -59,7 +58,7 @@ function BumpMetalMaterial()
59 58
60 this._propValues[ this._propNames[0] ] = this._lightDiff.slice(0); 59 this._propValues[ this._propNames[0] ] = this._lightDiff.slice(0);
61 this._propValues[ this._propNames[1] ] = this._diffuseTexture.slice(0); 60 this._propValues[ this._propNames[1] ] = this._diffuseTexture.slice(0);
62 this._propValues[ this._propNames[2] ] = this._specularTexture.slice(0); 61 this._propValues[ this._propNames[2] ] = this._normalTexture.slice(0);
63 this._propValues[ this._propNames[3] ] = this._specularTexture.slice(0); 62 this._propValues[ this._propNames[3] ] = this._specularTexture.slice(0);
64 63
65 // TODO - shader techniques are not all named the same, i.e., FlatMaterial uses "colorMe" and BrickMaterial uses "default" 64 // TODO - shader techniques are not all named the same, i.e., FlatMaterial uses "colorMe" and BrickMaterial uses "default"
@@ -95,8 +94,11 @@ function BumpMetalMaterial()
95 // duplcate method requirde 94 // duplcate method requirde
96 this.dup = function() { return new BumpMetalMaterial(); } 95 this.dup = function() { return new BumpMetalMaterial(); }
97 96
98 this.init = function() 97 this.init = function( world )
99 { 98 {
99 // save the world
100 if (world) this.setWorld( world );
101
100 // set up the shader 102 // set up the shader
101 this._shader = new jshader(); 103 this._shader = new jshader();
102 this._shader.def = bumpMetalMaterialDef; 104 this._shader.def = bumpMetalMaterialDef;
@@ -108,9 +110,36 @@ function BumpMetalMaterial()
108 this._materialNode.setShader(this._shader); 110 this._materialNode.setShader(this._shader);
109 111
110 // set some image maps 112 // set some image maps
111 this._materialNode.setDiffuseTexture( this.getDiffuseTexture() ); 113 this.updateTexture(1);
112 this._materialNode.setSpecTexture( this.getSpecularTexture() ); 114 this.updateTexture(2);
113 this._materialNode.setNormalTexture( this.getNormalTexture() ); 115 this.updateTexture(3);
116 }
117
118 this.updateTexture = function( index )
119 {
120 var material = this._materialNode;
121 if (material)
122 {
123 var technique = material.shaderProgram.default;
124 var renderer = g_Engine.getContext().renderer;
125 if (renderer && technique)
126 {
127 var texMapName = this._propValues[this._propNames[index]];
128 var wrap = 'REPEAT', mips = true;
129 var tex = this.loadTexture( texMapName, wrap, mips );
130
131 if (tex)
132 {
133 switch (index)
134 {
135 case 1: technique.u_colMap.set( tex ); break;
136 case 2: technique.u_normalMap.set( tex ); break;
137 case 3: technique.u_glowMap.set( tex ); break;
138 default: console.log( "invalid map index in BumpMetalMaterial, " + index );
139 }
140 }
141 }
142 }
114 } 143 }
115 144
116 this.export = function() 145 this.export = function()
@@ -229,6 +258,9 @@ bumpMetalShaderDef =
229 { 258 {
230 'u_light0Diff' : { 'type' : 'vec4' }, 259 'u_light0Diff' : { 'type' : 'vec4' },
231 //'u_matDiffuse' : { 'type' : 'vec4' } 260 //'u_matDiffuse' : { 'type' : 'vec4' }
261 'u_colMap': { 'type' : 'tex2d' },
262 'u_normalMap': { 'type' : 'tex2d' },
263 'u_glowMap': { 'type' : 'tex2d' },
232 }, 264 },
233 265
234 // render states 266 // render states
diff --git a/js/helper-classes/RDGE/Materials/FlatMaterial.js b/js/helper-classes/RDGE/Materials/FlatMaterial.js
index 5177a8a0..db66ca42 100644
--- a/js/helper-classes/RDGE/Materials/FlatMaterial.js
+++ b/js/helper-classes/RDGE/Materials/FlatMaterial.js
@@ -29,6 +29,8 @@ function FlatMaterial()
29 this.getColor = function() { return this._color; } 29 this.getColor = function() { return this._color; }
30 this.getShaderName = function() { return this._shaderName; } 30 this.getShaderName = function() { return this._shaderName; }
31 31
32 this.isAnimated = function() { return true; }
33
32 //////////////////////////////////s///////////////////////////////////// 34 //////////////////////////////////s/////////////////////////////////////
33 // Methods 35 // Methods
34 /////////////////////////////////////////////////////////////////////// 36 ///////////////////////////////////////////////////////////////////////
diff --git a/js/helper-classes/RDGE/Materials/IridescentScalesMaterial.js b/js/helper-classes/RDGE/Materials/IridescentScalesMaterial.js
index ac1d3fe7..a8b1c18b 100644
--- a/js/helper-classes/RDGE/Materials/IridescentScalesMaterial.js
+++ b/js/helper-classes/RDGE/Materials/IridescentScalesMaterial.js
@@ -80,8 +80,11 @@ function IridescentScalesMaterial()
80 /////////////////////////////////////////////////////////////////////// 80 ///////////////////////////////////////////////////////////////////////
81 this.dup = function() { return new IridescentScalesMaterial(); } 81 this.dup = function() { return new IridescentScalesMaterial(); }
82 82
83 this.init = function() 83 this.init = function( world )
84 { 84 {
85 // save the world
86 if (world) this.setWorld( world );
87
85 // set up the shader 88 // set up the shader
86 this._shader = new jshader(); 89 this._shader = new jshader();
87 this._shader.def = iridescentScalesShaderDef; 90 this._shader.def = iridescentScalesShaderDef;
diff --git a/js/helper-classes/RDGE/Materials/JuliaMaterial.js b/js/helper-classes/RDGE/Materials/JuliaMaterial.js
index 69884d18..f95263f4 100644
--- a/js/helper-classes/RDGE/Materials/JuliaMaterial.js
+++ b/js/helper-classes/RDGE/Materials/JuliaMaterial.js
@@ -64,6 +64,9 @@ function JuliaMaterial()
64 64
65 this.init = function( world ) 65 this.init = function( world )
66 { 66 {
67 // save the world
68 if (world) this.setWorld( world );
69
67 // set up the shader 70 // set up the shader
68 this._shader = new jshader(); 71 this._shader = new jshader();
69 this._shader.def = JuliaMaterialDef; 72 this._shader.def = JuliaMaterialDef;
diff --git a/js/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js b/js/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js
index 8f94f47b..1547aca9 100644
--- a/js/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js
+++ b/js/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js
@@ -62,6 +62,9 @@ function KeleidoscopeMaterial()
62