From 1fa8516bcd0fb0277c13a7081b5a51ce041d3496 Mon Sep 17 00:00:00 2001 From: hwc487 Date: Thu, 12 Apr 2012 06:24:46 -0700 Subject: Cloud material --- js/lib/rdge/materials/flat-material.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/lib/rdge/materials/flat-material.js') diff --git a/js/lib/rdge/materials/flat-material.js b/js/lib/rdge/materials/flat-material.js index 5030cc88..ddea9d9e 100755 --- a/js/lib/rdge/materials/flat-material.js +++ b/js/lib/rdge/materials/flat-material.js @@ -26,7 +26,7 @@ var FlatMaterial = function FlatMaterial() { this.getShaderName = function() { return this._shaderName; }; this.isAnimated = function() { return false; }; - this.hasVertexDeformation = function() { return true; }; + this.hasVertexDeformation = function() { return false; }; this._hasVertexDeformation = true; this._vertexDeformationTolerance = 0.2; -- cgit v1.2.3 From 6c994c4b90023cecf4fd0caafb404b859fe28f54 Mon Sep 17 00:00:00 2001 From: hwc487 Date: Wed, 6 Jun 2012 16:34:41 -0700 Subject: material cleanup and rearchitecture --- js/lib/rdge/materials/flat-material.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'js/lib/rdge/materials/flat-material.js') diff --git a/js/lib/rdge/materials/flat-material.js b/js/lib/rdge/materials/flat-material.js index 40da9305..e5498b65 100755 --- a/js/lib/rdge/materials/flat-material.js +++ b/js/lib/rdge/materials/flat-material.js @@ -34,7 +34,22 @@ var FlatMaterial = function FlatMaterial() { // Methods /////////////////////////////////////////////////////////////////////// // duplcate method requirde - this.dup = function () { return new FlatMaterial(); }; + this.dup = function( world ) + { + // get the current values; + var propNames = [], propValues = [], propTypes = [], propLabels = []; + this.getAllProperties(propNames, propValues, propTypes, propLabels); + + // allocate a new material + var newMat = new FlatMaterial(); + + // copy over the current values; + var n = propNames.length; + for (var i = 0; i < n; i++) + newMat.setProperty(propNames[i], propValues[i]); + + return newMat; + }; this.init = function (world) { // save the world @@ -72,6 +87,7 @@ var FlatMaterial = function FlatMaterial() { // make sure we have legitimate input if (this.validateProperty(prop, value)) { this._propValues[prop] = value; + if (prop === 'color') this._color = value.slice(); if (this._shader && this._shader.colorMe) { this._shader.colorMe[prop].set(value); } -- cgit v1.2.3 From db2bb0ab5d2747f0d07878e3b8a7d2d10c755110 Mon Sep 17 00:00:00 2001 From: hwc487 Date: Thu, 7 Jun 2012 17:07:21 -0700 Subject: Material cleanup --- js/lib/rdge/materials/flat-material.js | 113 +++++++++------------------------ 1 file changed, 30 insertions(+), 83 deletions(-) (limited to 'js/lib/rdge/materials/flat-material.js') diff --git a/js/lib/rdge/materials/flat-material.js b/js/lib/rdge/materials/flat-material.js index e5498b65..579813b8 100755 --- a/js/lib/rdge/materials/flat-material.js +++ b/js/lib/rdge/materials/flat-material.js @@ -4,13 +4,14 @@ (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; + /////////////////////////////////////////////////////////////////////// // Class GLMaterial // RDGE representation of a material. /////////////////////////////////////////////////////////////////////// -var FlatMaterial = function FlatMaterial() { +var FlatMaterial = function FlatMaterial() +{ /////////////////////////////////////////////////////////////////////// // Instance variables /////////////////////////////////////////////////////////////////////// @@ -22,36 +23,17 @@ var FlatMaterial = function FlatMaterial() { /////////////////////////////////////////////////////////////////////// // Property Accessors /////////////////////////////////////////////////////////////////////// - this.getColor = function () { return this._color; }; this.getShaderName = function () { return this._shaderName; }; + this.isAnimated = function () { return false; }; + this.getTechniqueName = function() { return 'colorMe' }; - this.isAnimated = function () { return false; }; - this.hasVertexDeformation = function() { return false; }; - this._hasVertexDeformation = true; - this._vertexDeformationTolerance = 0.2; - - //////////////////////////////////s///////////////////////////////////// + /////////////////////////////////////////////////////////////////////// // Methods /////////////////////////////////////////////////////////////////////// // duplcate method requirde - this.dup = function( world ) - { - // get the current values; - var propNames = [], propValues = [], propTypes = [], propLabels = []; - this.getAllProperties(propNames, propValues, propTypes, propLabels); - - // allocate a new material - var newMat = new FlatMaterial(); - - // copy over the current values; - var n = propNames.length; - for (var i = 0; i < n; i++) - newMat.setProperty(propNames[i], propValues[i]); - return newMat; - }; - - this.init = function (world) { + this.init = function (world) + { // save the world if (world) { this.setWorld(world); @@ -61,12 +43,11 @@ var FlatMaterial = function FlatMaterial() { this._shader.def = flatShaderDef; this._shader.init(); - // set the defaults - this._shader.colorMe.color.set(this.getColor()); - // set up the material node this._materialNode = RDGE.createMaterialNode("flatMaterial_" + world.generateUniqueNodeID()); this._materialNode.setShader(this._shader); + + this.setShaderValues(); } else throw new Error("GLWorld not supplied to material initialization"); @@ -82,40 +63,6 @@ var FlatMaterial = function FlatMaterial() { this._propValues = []; this._propValues[this._propNames[0]] = this._color; - - this.setProperty = function (prop, value) { - // make sure we have legitimate input - if (this.validateProperty(prop, value)) { - this._propValues[prop] = value; - if (prop === 'color') this._color = value.slice(); - if (this._shader && this._shader.colorMe) { - this._shader.colorMe[prop].set(value); - } - } - }; - /////////////////////////////////////////////////////////////////////// - - this.exportJSON = function () { - var jObj = - { - 'material': this.getShaderName(), - 'name': this.getName(), - 'color': this._propValues["color"] - }; - - return jObj; - }; - - this.importJSON = function (jObj) { - if (this.getShaderName() != jObj.material) throw new Error("ill-formed material"); - this.setName(jObj.name); - - var color = jObj.color; - this.setProperty("color", color); - }; - - this.update = function (time) { - }; }; /////////////////////////////////////////////////////////////////////////////////////// @@ -124,31 +71,31 @@ var FlatMaterial = function FlatMaterial() { // shader spec (can also be loaded from a .JSON file, or constructed at runtime) flatShaderDef = { - 'shaders': { // shader files + 'shaders': { // shader files 'defaultVShader':"assets/shaders/Basic.vert.glsl", 'defaultFShader':"assets/shaders/Basic.frag.glsl" - }, - 'techniques': { // rendering control - 'colorMe':[ // simple color pass - { - 'vshader' : 'defaultVShader', - 'fshader' : 'defaultFShader', - - // attributes - 'attributes' : - { + }, + 'techniques': { // rendering control + 'colorMe':[ // simple color pass + { + 'vshader' : 'defaultVShader', + 'fshader' : 'defaultFShader', + + // attributes + 'attributes' : + { 'vert' : { 'type' : 'vec3' }, 'normal' : { 'type' : 'vec3' }, 'texcoord' : { 'type' : 'vec2' } - }, - // attributes - 'params' : - { - 'color' : { 'type' : 'vec4' } - } - } - ] - } + }, + // attributes + 'params' : + { + 'color' : { 'type' : 'vec4' } + } + } + ] + } }; FlatMaterial.prototype = new Material(); -- cgit v1.2.3 From f0fc7a5678093cce986bd99fef2c5c88add19b68 Mon Sep 17 00:00:00 2001 From: hwc487 Date: Thu, 14 Jun 2012 16:09:31 -0700 Subject: Fix for line color. Name change for all materials --- js/lib/rdge/materials/flat-material.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/lib/rdge/materials/flat-material.js') diff --git a/js/lib/rdge/materials/flat-material.js b/js/lib/rdge/materials/flat-material.js index 579813b8..791dcc27 100755 --- a/js/lib/rdge/materials/flat-material.js +++ b/js/lib/rdge/materials/flat-material.js @@ -15,7 +15,7 @@ var FlatMaterial = function FlatMaterial() /////////////////////////////////////////////////////////////////////// // Instance variables /////////////////////////////////////////////////////////////////////// - this._name = "FlatMaterial"; + this._name = "Flat"; this._shaderName = "flat"; this._color = [1, 0, 0, 1]; -- cgit v1.2.3