From 4b199cf04af83f59895d4d1e9a2d8443c1ec8e06 Mon Sep 17 00:00:00 2001
From: hwc487
Date: Tue, 3 Apr 2012 09:36:14 -0700
Subject: started the flag material
---
js/lib/geom/geom-obj.js | 2 +
js/lib/rdge/materials/flag-material.js | 142 +++++++++++++++++++++++++++++++++
js/models/materials-model.js | 3 +
3 files changed, 147 insertions(+)
create mode 100644 js/lib/rdge/materials/flag-material.js
(limited to 'js')
diff --git a/js/lib/geom/geom-obj.js b/js/lib/geom/geom-obj.js
index 11b9303a..0c0d7c01 100755
--- a/js/lib/geom/geom-obj.js
+++ b/js/lib/geom/geom-obj.js
@@ -309,6 +309,7 @@ var GeomObj = function GLGeomObj() {
case "tunnel":
case "reliefTunnel":
case "squareTunnel":
+ case "flag":
case "twist":
case "fly":
case "julia":
@@ -382,6 +383,7 @@ var GeomObj = function GLGeomObj() {
case "tunnel":
case "reliefTunnel":
case "squareTunnel":
+ case "flag":
case "twist":
case "fly":
case "julia":
diff --git a/js/lib/rdge/materials/flag-material.js b/js/lib/rdge/materials/flag-material.js
new file mode 100644
index 00000000..77991a8c
--- /dev/null
+++ b/js/lib/rdge/materials/flag-material.js
@@ -0,0 +1,142 @@
+/*
+ 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 PulseMaterial = require("js/lib/rdge/materials/pulse-material").PulseMaterial;
+var Texture = require("js/lib/rdge/texture").Texture;
+
+var FlagMaterial = function FlagMaterial() {
+ ///////////////////////////////////////////////////////////////////////
+ // Instance variables
+ ///////////////////////////////////////////////////////////////////////
+ this._name = "FlagMaterial";
+ this._shaderName = "flag";
+
+ this._texMap = 'assets/images/us_flag.png';
+
+ this._time = 0.0;
+ this._dTime = 0.1;
+
+ this._defaultWaveWidth = 1.0;
+ this._defaultWaveHeight = 1.0;
+
+ ///////////////////////////////////////////////////////////////////////
+ // Properties
+ ///////////////////////////////////////////////////////////////////////
+ // all defined in parent PulseMaterial.js
+ // load the local default value
+ this._propNames = ["texmap", "wavewidth", "waveheight" ];
+ this._propLabels = ["Texture map", "Wave Width", "Wave Height" ];
+ this._propTypes = ["file", "float", "float" ];
+ this._propValues = [];
+
+ this._propValues[ this._propNames[0] ] = this._texMap.slice(0);
+ this._propValues[ this._propNames[1] ] = this._defaultWaveWidth;
+ this._propValues[ this._propNames[2] ] = this._defaultWaveHeight;
+
+ ///////////////////////////////////////////////////////////////////////
+ // Methods
+ ///////////////////////////////////////////////////////////////////////
+ // duplcate method requirde
+ this.dup = function( world ) {
+ // allocate a new uber material
+ var newMat = new FlagMaterial();
+
+ // 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