From 8d1cc709340da845d76f84220fe92c11e6217ff3 Mon Sep 17 00:00:00 2001 From: John Mayhew Date: Tue, 3 Apr 2012 09:36:14 -0700 Subject: Made use of semicolons consistent and updated new files to use the new RDGE namespace --- js/lib/rdge/materials/cloud-material.js | 390 ++++++++++++++++---------------- 1 file changed, 189 insertions(+), 201 deletions(-) (limited to 'js/lib/rdge/materials/cloud-material.js') diff --git a/js/lib/rdge/materials/cloud-material.js b/js/lib/rdge/materials/cloud-material.js index 85088f91..092553ce 100644 --- a/js/lib/rdge/materials/cloud-material.js +++ b/js/lib/rdge/materials/cloud-material.js @@ -1,8 +1,8 @@ /* - This file contains proprietary software owned by Motorola Mobility, Inc.
- No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
- (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. -
*/ +This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. + */ var MaterialParser = require("js/lib/rdge/materials/material-parser").MaterialParser; var Material = require("js/lib/rdge/materials/material").Material; @@ -14,275 +14,263 @@ var CloudMaterial = function CloudMaterial() { /////////////////////////////////////////////////////////////////////// // Instance variables /////////////////////////////////////////////////////////////////////// - this._name = "CloudMaterial"; - this._shaderName = "cloud"; + this._name = "CloudMaterial"; + this._shaderName = "cloud"; - this._texMap = 'assets/images/cloud2.jpg'; - this._diffuseColor = [0.5, 0.5, 0.5, 0.5]; + this._texMap = 'assets/images/cloud2.jpg'; + this._diffuseColor = [0.5, 0.5, 0.5, 0.5]; - this._time = 0.0; - this._dTime = 0.01; + this._time = 0.0; + this._dTime = 0.01; /////////////////////////////////////////////////////////////////////// // Property Accessors /////////////////////////////////////////////////////////////////////// - this.getName = function() { return this._name; }; - this.getShaderName = function() { return this._shaderName; }; + this.getName = function () { return this._name; }; + this.getShaderName = function () { return this._shaderName; }; - this.getTextureMap = function() { return this._propValues[this._propNames[0]] ? this._propValues[this._propNames[0]].slice() : null }; - this.setTextureMap = function(m) { this._propValues[this._propNames[0]] = m ? m.slice(0) : null; this.updateTexture(); }; + this.getTextureMap = function () { return this._propValues[this._propNames[0]] ? this._propValues[this._propNames[0]].slice() : null }; + this.setTextureMap = function (m) { this._propValues[this._propNames[0]] = m ? m.slice(0) : null; this.updateTexture(); }; - this.setDiffuseColor = function(c) { this._propValues[this._propNames[1]] = c.slice(0); this.updateColor(); }; - this.getDiffuseColor = function() { return this._propValues[this._propNames[1]] ? this._propValues[this._propNames[1]].slice() : null; }; + this.setDiffuseColor = function (c) { this._propValues[this._propNames[1]] = c.slice(0); this.updateColor(); }; + this.getDiffuseColor = function () { return this._propValues[this._propNames[1]] ? this._propValues[this._propNames[1]].slice() : null; }; - this.isAnimated = function() { return true; }; + this.isAnimated = function () { return true; }; /////////////////////////////////////////////////////////////////////// // Material Property Accessors /////////////////////////////////////////////////////////////////////// - this._propNames = ["texmap", "diffusecolor"]; - this._propLabels = ["Texture map", "Diffuse Color"]; - this._propTypes = ["file", "color"]; - this._propValues = []; + this._propNames = ["texmap", "diffusecolor"]; + this._propLabels = ["Texture map", "Diffuse Color"]; + this._propTypes = ["file", "color"]; + this._propValues = []; - this._propValues[ this._propNames[0] ] = this._texMap.slice(0); - this._propValues[ this._propNames[1] ] = this._diffuseColor.slice(); + this._propValues[this._propNames[0]] = this._texMap.slice(0); + this._propValues[this._propNames[1]] = this._diffuseColor.slice(); - this.setProperty = function( prop, value ) - { - if (prop === 'color') prop = 'diffusecolor'; + this.setProperty = function (prop, value) { + if (prop === 'color') prop = 'diffusecolor'; - // make sure we have legitimate imput - var ok = this.validateProperty( prop, value ); - if (!ok) { - console.log( "invalid property in Radial Gradient Material:" + prop + " : " + value ); + // make sure we have legitimate imput + var ok = this.validateProperty(prop, value); + if (!ok) { + console.log("invalid property in Radial Gradient Material:" + prop + " : " + value); } - switch (prop) - { - case "texmap": - this.setTextureMap(value); - break; - - case "diffusecolor": - this.setDiffuseColor( value ); - break; - - case "color": - break; - } - }; + switch (prop) { + case "texmap": + this.setTextureMap(value); + break; + + case "diffusecolor": + this.setDiffuseColor(value); + break; + + case "color": + break; + } + }; /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Methods /////////////////////////////////////////////////////////////////////// - // duplcate method requirde - this.dup = function( world ) - { - // save the world - if (world) this.setWorld( world ); - - // allocate a new uber material - var newMat = new CloudMaterial(); - - // copy over the current values; - var propNames = [], propValues = [], propTypes = [], propLabels = []; - this.getAllProperties( propNames, propValues, propTypes, propLabels); - var n = propNames.length; - for (var i=0; i 200.0) this._time = 0.0; - } - } - }; + if (this._time > 200.0) this._time = 0.0; + } + } + }; - // JSON export - this.exportJSON = function() - { - var jObj = + // JSON export + this.exportJSON = function () { + var jObj = { - 'material' : this.getShaderName(), - 'name' : this.getName(), - 'texture' : this._propValues[this._propNames[0]] + 'material': this.getShaderName(), + 'name': this.getName(), + 'texture': this._propValues[this._propNames[0]] }; - return jObj; - }; + return jObj; + }; - this.importJSON = function( jObj ) - { - if (this.getShaderName() != jObj.material) throw new Error( "ill-formed material" ); - this.setName( jObj.name ); + this.importJSON = function (jObj) { + if (this.getShaderName() != jObj.material) throw new Error("ill-formed material"); + this.setName(jObj.name); try { - this._propValues[this._propNames[0]] = jObj.texture; + this._propValues[this._propNames[0]] = jObj.texture; } - catch (e) - { - throw new Error( "could not import material: " + jObj ); + catch (e) { + throw new Error("could not import material: " + jObj); } - } + }; + + this.export = function () { + // every material needs the base type and instance name + var exportStr = "material: " + this.getShaderName() + "\n"; + exportStr += "name: " + this.getName() + "\n"; - this.export = function() { - // every material needs the base type and instance name - var exportStr = "material: " + this.getShaderName() + "\n"; - exportStr += "name: " + this.getName() + "\n"; + var world = this.getWorld(); + if (!world) + throw new Error("no world in material.export, " + this.getName()); - var world = this.getWorld(); - if (!world) - throw new Error( "no world in material.export, " + this.getName() ); + var texMapName = this._propValues[this._propNames[0]]; + exportStr += "texture: " + texMapName + "\n"; - var texMapName = this._propValues[this._propNames[0]]; - exportStr += "texture: " +texMapName + "\n"; - - // every material needs to terminate like this - exportStr += "endMaterial\n"; + // every material needs to terminate like this + exportStr += "endMaterial\n"; - return exportStr; - }; + return exportStr; + }; - this.import = function( importStr ) { - var pu = new MaterialParser( importStr ); - var material = pu.nextValue( "material: " ); - if (material != this.getShaderName()) throw new Error( "ill-formed material" ); - this.setName( pu.nextValue( "name: ") ); + this.import = function (importStr) { + var pu = new MaterialParser(importStr); + var material = pu.nextValue("material: "); + if (material != this.getShaderName()) throw new Error("ill-formed material"); + this.setName(pu.nextValue("name: ")); - var rtnStr; + var rtnStr; try { - this._propValues[this._propNames[0]] = pu.nextValue( "texture: " ); + this._propValues[this._propNames[0]] = pu.nextValue("texture: "); var endKey = "endMaterial\n"; - var index = importStr.indexOf( endKey ); + var index = importStr.indexOf(endKey); index += endKey.length; - rtnStr = importStr.substr( index ); + rtnStr = importStr.substr(index); } - catch (e) - { - throw new Error( "could not import material: " + importStr ); + catch (e) { + throw new Error("could not import material: " + importStr); } - return rtnStr; - } + return rtnStr; + }; }; /////////////////////////////////////////////////////////////////////////////////////// // RDGE shader - + // shader spec (can also be loaded from a .JSON file, or constructed at runtime) var cloudMaterialDef = -{'shaders': +{ 'shaders': { - 'defaultVShader':"assets/shaders/Cloud.vert.glsl", - 'defaultFShader':"assets/shaders/Cloud.frag.glsl" + 'defaultVShader': "assets/shaders/Cloud.vert.glsl", + 'defaultFShader': "assets/shaders/Cloud.frag.glsl" }, - 'techniques': - { - 'default': + 'techniques': + { + 'default': [ { - 'vshader' : 'defaultVShader', - 'fshader' : 'defaultFShader', - // attributes - 'attributes' : + 'vshader': 'defaultVShader', + 'fshader': 'defaultFShader', + // attributes + 'attributes': { - 'vert' : { 'type' : 'vec3' }, - 'normal' : { 'type' : 'vec3' }, - 'texcoord' : { 'type' : 'vec2' } + 'vert': { 'type': 'vec3' }, + 'normal': { 'type': 'vec3' }, + 'texcoord': { 'type': 'vec2' } }, - // parameters - 'params' : + // parameters + 'params': { - 'u_tex0': { 'type' : 'tex2d' }, - 'u_time' : { 'type' : 'float' }, - 'u_DiffuseColor' : { 'type' : 'vec4' } + 'u_tex0': { 'type': 'tex2d' }, + 'u_time': { 'type': 'float' }, + 'u_DiffuseColor': { 'type': 'vec4' } }, - // render states - 'states' : + // render states + 'states': { - 'depthEnable' : true, - 'offset':[1.0, 0.1] + 'depthEnable': true, + 'offset': [1.0, 0.1] } } ] -- cgit v1.2.3