diff options
author | Jon Reid | 2012-04-05 16:36:22 -0700 |
---|---|---|
committer | Jon Reid | 2012-04-05 16:36:22 -0700 |
commit | eb694fa5d39733264bce7ba832aabbe9c3d6c81e (patch) | |
tree | 049aaa66a6621e9f54b33b9861f50c20667ba0e3 /js/lib/rdge/materials/bump-metal-material.js | |
parent | a8ea8f377919c7f1a6af69311f55fd57727d9058 (diff) | |
parent | e186c49247689b5c2df6125037e2473636701d17 (diff) | |
download | ninja-eb694fa5d39733264bce7ba832aabbe9c3d6c81e.tar.gz |
Merge remote-tracking branch 'ninja-jduran/TimelineUber' into timeline-local
Diffstat (limited to 'js/lib/rdge/materials/bump-metal-material.js')
-rwxr-xr-x | js/lib/rdge/materials/bump-metal-material.js | 64 |
1 files changed, 6 insertions, 58 deletions
diff --git a/js/lib/rdge/materials/bump-metal-material.js b/js/lib/rdge/materials/bump-metal-material.js index 2ef83227..27d5793c 100755 --- a/js/lib/rdge/materials/bump-metal-material.js +++ b/js/lib/rdge/materials/bump-metal-material.js | |||
@@ -107,16 +107,18 @@ var BumpMetalMaterial = function BumpMetalMaterial() { | |||
107 | this.init = function( world ) | 107 | this.init = function( world ) |
108 | { | 108 | { |
109 | // save the world | 109 | // save the world |
110 | if (world) this.setWorld( world ); | 110 | if (world) { |
111 | this.setWorld( world ); | ||
112 | } | ||
111 | 113 | ||
112 | // set up the shader | 114 | // set up the shader |
113 | this._shader = new jshader(); | 115 | this._shader = new RDGE.jshader(); |
114 | this._shader.def = bumpMetalMaterialDef; | 116 | this._shader.def = bumpMetalMaterialDef; |
115 | this._shader.init(); | 117 | this._shader.init(); |
116 | this._shader['default'].u_light0Diff.set( this.getLightDiff() ); | 118 | this._shader['default'].u_light0Diff.set( this.getLightDiff() ); |
117 | 119 | ||
118 | // set up the material node | 120 | // set up the material node |
119 | this._materialNode = createMaterialNode( this.getShaderName() + "_" + world.generateUniqueNodeID() ); | 121 | this._materialNode = RDGE.createMaterialNode( this.getShaderName() + "_" + world.generateUniqueNodeID() ); |
120 | this._materialNode.setShader(this._shader); | 122 | this._materialNode.setShader(this._shader); |
121 | 123 | ||
122 | // set some image maps | 124 | // set some image maps |
@@ -131,7 +133,7 @@ var BumpMetalMaterial = function BumpMetalMaterial() { | |||
131 | if (material) | 133 | if (material) |
132 | { | 134 | { |
133 | var technique = material.shaderProgram['default']; | 135 | var technique = material.shaderProgram['default']; |
134 | var renderer = g_Engine.getContext().renderer; | 136 | var renderer = RDGE.globals.engine.getContext().renderer; |
135 | if (renderer && technique) | 137 | if (renderer && technique) |
136 | { | 138 | { |
137 | var texMapName = this._propValues[this._propNames[index]]; | 139 | var texMapName = this._propValues[this._propNames[index]]; |
@@ -191,60 +193,6 @@ var BumpMetalMaterial = function BumpMetalMaterial() { | |||
191 | 193 | ||
192 | return; | 194 | return; |
193 | }; | 195 | }; |
194 | |||
195 | this.export = function() | ||
196 | { | ||
197 | // every material needs the base type and instance name | ||
198 | var exportStr = "material: " + this.getShaderName() + "\n"; | ||
199 | exportStr += "name: " + this.getName() + "\n"; | ||
200 | |||
201 | var world = this.getWorld(); | ||
202 | if (!world) | ||
203 | throw new Error( "no world in material.export, " + this.getName() ); | ||
204 | |||
205 | exportStr += "lightDiff: " + this.getLightDiff() + "\n"; | ||
206 | exportStr += "diffuseTexture: " + this.getDiffuseTexture() + "\n"; | ||
207 | exportStr += "specularTexture: " + this.getSpecularTexture() + "\n"; | ||
208 | exportStr += "normalMap: " + this.getNormalTexture() + "\n"; | ||
209 | |||
210 | // every material needs to terminate like this | ||
211 | exportStr += "endMaterial\n"; | ||
212 | |||
213 | return exportStr; | ||
214 | }; | ||
215 | |||
216 | this.import = function( importStr ) | ||
217 | { | ||
218 | var pu = new MaterialParser( importStr ); | ||
219 | var material = pu.nextValue( "material: " ); | ||
220 | if (material != this.getShaderName()) throw new Error( "ill-formed material" ); | ||
221 | this.setName( pu.nextValue( "name: ") ); | ||
222 | |||
223 | var rtnStr; | ||
224 | try | ||
225 | { | ||
226 | var lightDiff = eval( "[" + pu.nextValue( "lightDiff: " ) + "]" ), | ||
227 | dt = pu.nextValue( "diffuseTexture: " ), | ||
228 | st = pu.nextValue( "specularTexture: " ), | ||
229 | nt = pu.nextValue( "normalMap: " ); | ||
230 | |||
231 | this.setProperty( "lightDiff", lightDiff); | ||
232 | this.setProperty( "diffuseTexture", dt ); | ||
233 | this.setProperty( "specularTexture", st ); | ||
234 | this.setProperty( "normalMap", nt ); | ||
235 | |||
236 | var endKey = "endMaterial\n"; | ||
237 | var index = importStr.indexOf( endKey ); | ||
238 | index += endKey.length; | ||
239 | rtnStr = importStr.substr( index ); | ||
240 | } | ||
241 | catch (e) | ||
242 | { | ||
243 | throw new Error( "could not import material: " + importStr ); | ||
244 | } | ||
245 | |||
246 | return rtnStr; | ||
247 | }; | ||
248 | }; | 196 | }; |
249 | 197 | ||
250 | /////////////////////////////////////////////////////////////////////////////////////// | 198 | /////////////////////////////////////////////////////////////////////////////////////// |