/* 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; var RadialBlurMaterial = function RadialBlurMaterial() { /////////////////////////////////////////////////////////////////////// // Instance variables /////////////////////////////////////////////////////////////////////// this._name = "RadialBlurMaterial"; this._shaderName = "radialBlur"; this._texMap = 'assets/images/cubelight.png'; this._color = [1,0,0,1]; this._time = 0.0; this._dTime = 0.01; /////////////////////////////////////////////////////////////////////// // Property Accessors /////////////////////////////////////////////////////////////////////// this.getName = function() { return this._name; }; this.getShaderName = function() { return this._shaderName; }; this.getTextureMap = function() { return this._texMap.slice(0); }; this.setTextureMap = function(m) { this._propValues[this._propNames[0]] = m.slice(0); this.updateTexture(); }; this.isAnimated = function() { return true; }; /////////////////////////////////////////////////////////////////////// // Material Property Accessors /////////////////////////////////////////////////////////////////////// this._propNames = ["texmap", "color"]; this._propLabels = ["Texture map", "Color"]; this._propTypes = ["file", "color"]; this._propValues = []; this._propValues[ this._propNames[0] ] = this._texMap.slice(0); this._propValues[ this._propNames[1] ] = this._color.slice(0); this.setProperty = function( 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 "color": this._propValues[prop] = value.slice(0); if (this._shader && this._shader['default']) { this._shader['default'][prop].set(value); } break; } }; /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // Methods /////////////////////////////////////////////////////////////////////// // duplcate method requirde this.dup = function( ) { // allocate a new uber material var newMat = new RadialBlurMaterial(); // 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