From 3a754133dbc138390503341fd2e9beba3e43aa4b Mon Sep 17 00:00:00 2001 From: Jose Antonio Marquez Date: Fri, 27 Jan 2012 12:05:17 -0800 Subject: Merged old FileIO --- js/helper-classes/RDGE/Materials/LinearGradientMaterial.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 js/helper-classes/RDGE/Materials/LinearGradientMaterial.js (limited to 'js/helper-classes/RDGE/Materials/LinearGradientMaterial.js') diff --git a/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js b/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js old mode 100644 new mode 100755 -- cgit v1.2.3 From 805059d68087530721212a650412aefb85e98d1f Mon Sep 17 00:00:00 2001 From: Nivesh Rajbhandari Date: Thu, 9 Feb 2012 10:26:57 -0800 Subject: Removed unused materials. Signed-off-by: Nivesh Rajbhandari --- js/helper-classes/RDGE/Materials/LinearGradientMaterial.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'js/helper-classes/RDGE/Materials/LinearGradientMaterial.js') diff --git a/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js b/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js index 357ce275..8b23d77e 100644 --- a/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js +++ b/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js @@ -98,6 +98,8 @@ function LinearGradientMaterial() this._shader.default.u_cos_sin_angle.set([Math.cos(a), Math.sin(a)]); } + this.isAnimated = function() { return false; } + /////////////////////////////////////////////////////////////////////// // Material Property Accessors /////////////////////////////////////////////////////////////////////// @@ -133,8 +135,10 @@ function LinearGradientMaterial() // duplcate method requirde this.dup = function() { return new LinearGradientMaterial(); } - this.init = function() + this.init = function( world ) { + this.setWorld( world ); + // set up the shader this._shader = new jshader(); this._shader.def = linearGradientMaterialDef; @@ -146,6 +150,8 @@ function LinearGradientMaterial() // send the current values to the shader this.updateShaderValues(); + + console.log( "**** LinearGradientMaterial initialized" ); } this.updateShaderValues= function() -- cgit v1.2.3 From 3ba2be686e1981c8af3054ead1c7bb59af8b5d66 Mon Sep 17 00:00:00 2001 From: Nivesh Rajbhandari Date: Thu, 9 Feb 2012 14:18:20 -0800 Subject: Updated linear and radial gradient materials import/export routines. Signed-off-by: Nivesh Rajbhandari --- .../RDGE/Materials/LinearGradientMaterial.js | 144 +++++++++++++-------- 1 file changed, 89 insertions(+), 55 deletions(-) (limited to 'js/helper-classes/RDGE/Materials/LinearGradientMaterial.js') diff --git a/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js b/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js index 8b23d77e..7fe2be0c 100644 --- a/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js +++ b/js/helper-classes/RDGE/Materials/LinearGradientMaterial.js @@ -29,50 +29,50 @@ function LinearGradientMaterial() this._colorStop2 = 0.3; this._colorStop3 = 0.6; this._colorStop4 = 1.0; - this._colorCount = 4; +// this._colorCount = 4; this._angle = 0.0; // the shader takes [cos(a), sin(a)] /////////////////////////////////////////////////////////////////////// // Property Accessors /////////////////////////////////////////////////////////////////////// - this.getShaderName = function() { return this._shaderName; } - this.getName = function() { return this._name; } + this.getShaderName = function() { return this._shaderName; }; + this.getName = function() { return this._name; }; - this.getColor1 = function() { return this._color1; } + this.getColor1 = function() { return this._color1; }; this.setColor1 = function(c) { this._color1 = c.slice(); if (this._shader && this._shader.default) this._shader.default.u_color1.set(c); - } + }; - this.getColor2 = function() { return this._color2; } + this.getColor2 = function() { return this._color2; }; this.setColor2 = function(c) { this._color2 = c.slice(); if (this._shader && this._shader.default) this._shader.default.u_color2.set(c); - } + }; - this.getColor3 = function() { return this._color3; } + this.getColor3 = function() { return this._color3; }; this.setColor3 = function(c) { this._color3 = c.slice(); if (this._shader && this._shader.default) this._shader.default.u_color3.set(c); - } + }; - this.getColor4 = function() { return this._color4; } + this.getColor4 = function() { return this._color4; }; this.setColor4 = function(c) { this._color4 = c.slice(); if (this._shader && this._shader.default) this._shader.default.u_color4.set(c); - } + }; - this.getColorStop1 = function() { return this._colorStop1; } + this.getColorStop1 = function() { return this._colorStop1; }; this.setColorStop1 = function(s) { this._colorStop1 = s; if (this._shader && this._shader.default) this._shader.default.u_colorStop1.set([s]); - } + }; - this.getColorStop2 = function() { return this._colorStop2; } + this.getColorStop2 = function() { return this._colorStop2; }; this.setColorStop2 = function(s) { this._colorStop2 = s; if (this._shader && this._shader.default) this._shader.default.u_colorStop2.set([s]); - } + }; this.getColorStop3 = function() { return this._colorStop3; } this.setColorStop3 = function(s) { this._colorStop3 = s; @@ -80,37 +80,45 @@ function LinearGradientMaterial() this._shader.default.u_colorStop3.set([s]); } - this.getColorStop4 = function() { return this._colorStop4; } + this.getColorStop4 = function() { return this._colorStop4; }; this.setColorStop4 = function(s) { this._colorStop4 = s; if (this._shader && this._shader.default) this._shader.default.u_colorStop4.set([s]); - } + }; - this.getColorCount = function() { return this._colorCount; } - this.setColorCount = function(c) { this._colorCount = c; - if (this._shader && this._shader.default) - this._shader.default.u_colorCount.set([c]); - } +// this.getColorCount = function() { return this._colorCount; }; +// this.setColorCount = function(c) { this._colorCount = c; +// if (this._shader && this._shader.default) +// this._shader.default.u_colorCount.set([c]); +// }; - this.getAngle = function() { return this._angle; } + this.getAngle = function() { return this._angle; }; this.setAngle = function(a) { this._angle = a; if (this._shader && this._shader.default) this._shader.default.u_cos_sin_angle.set([Math.cos(a), Math.sin(a)]); - } + }; - this.isAnimated = function() { return false; } + this.isAnimated = function() { return false; }; /////////////////////////////////////////////////////////////////////// // Material Property Accessors /////////////////////////////////////////////////////////////////////// - this._propNames = ["color1", "color2", "angle"]; - this._propLabels = ["Start Color", "Stop Color", "Angle"]; - this._propTypes = ["color", "color", "float"]; + this._propNames = ["color1", "color2", "color3", "color4", "colorStop1", "colorStop2", "colorStop3", "colorStop4", "angle"]; + this._propLabels = ["Color 1", "Color 2", "Color 3", "Color 4", "Color Stop 1", "Color Stop 2", "Color Stop 3", "Color Stop 4", "Angle"]; + this._propTypes = ["color", "color", "color", "color", "float", "float", "float", "float", "float"]; this._propValues = []; this._propValues[ this._propNames[0] ] = this._color1.slice(0); - this._propValues[ this._propNames[1] ] = this._color4.slice(0); - this._propValues[ this._propNames[2] ] = this._angle; + this._propValues[ this._propNames[1] ] = this._color2.slice(0); + this._propValues[ this._propNames[2] ] = this._color3.slice(0); + this._propValues[ this._propNames[3] ] = this._color4.slice(0); + + this._propValues[ this._propNames[4] ] = this._colorStop1; + this._propValues[ this._propNames[5] ] = this._colorStop2; + this._propValues[ this._propNames[6] ] = this._colorStop3; + this._propValues[ this._propNames[7] ] = this._colorStop4; + + this._propValues[ this._propNames[8] ] = this._angle; this.setProperty = function( prop, value ) { @@ -123,17 +131,23 @@ function LinearGradientMaterial() switch (prop) { - case "color1": this.setColor1( value ); break; - case "color2": this.setColor2( value ); break; - case "angle": this.setAngle( value ); break; + case "color1": this.setColor1( value ); break; + case "color2": this.setColor2( value ); break; + case "color3": this.setColor3( value ); break; + case "color4": this.setColor4( value ); break; + case "colorStop1": this.setColorStop1( value ); break; + case "colorStop2": this.setColorStop2( value ); break; + case "colorStop3": this.setColorStop3( value ); break; + case "colorStop4": this.setColorStop4( value ); break; + case "angle": this.setAngle( value ); break; } - } + }; /////////////////////////////////////////////////////////////////////// // Methods /////////////////////////////////////////////////////////////////////// // duplcate method requirde - this.dup = function() { return new LinearGradientMaterial(); } + this.dup = function() { return new LinearGradientMaterial(); }; this.init = function( world ) { @@ -151,8 +165,8 @@ function LinearGradientMaterial() // send the current values to the shader this.updateShaderValues(); - console.log( "**** LinearGradientMaterial initialized" ); - } + //console.log( "**** LinearGradientMaterial initialized" ); + }; this.updateShaderValues= function() { @@ -182,7 +196,7 @@ function LinearGradientMaterial() this.setAngle( this.getAngle() ); } - } + }; this.export = function() { @@ -190,15 +204,23 @@ function LinearGradientMaterial() var exportStr = "material: " + this.getShaderName() + "\n"; exportStr += "name: " + this.getName() + "\n"; - exportStr += "startColor: " + this.getStartColor() + "\n"; - exportStr += "stopColor: " + this.getStopColor() + "\n"; - exportStr += "angle: " + this.getAngle() + "\n"; + exportStr += "color1: " + this.getColor1() + "\n"; + exportStr += "color2: " + this.getColor2() + "\n"; + exportStr += "color3: " + this.getColor3() + "\n"; + exportStr += "color4: " + this.getColor4() + "\n"; + + exportStr += "colorStop1: " + this.getColorStop1() + "\n"; + exportStr += "colorStop2: " + this.getColorStop2() + "\n"; + exportStr += "colorStop3: " + this.getColorStop3() + "\n"; + exportStr += "colorStop4: " + this.getColorStop4() + "\n"; + + exportStr += "angle: " + this.getAngle() + "\n"; // every material needs to terminate like this exportStr += "endMaterial\n"; return exportStr; - } + }; this.import = function( importStr ) { @@ -210,17 +232,29 @@ function LinearGradientMaterial() var rtnStr; try { - var startColor = eval( "[" + pu.nextValue( "startColor: " ) + "]" ), - stopColor = eval( "[" + pu.nextValue( "stopColor: " ) + "]" ), - angle = eval( "[" + pu.nextValue( "angle: " ) + "]" ); + var color1 = eval( "[" + pu.nextValue( "color1: " ) + "]" ), + color2 = eval( "[" + pu.nextValue( "color2: " ) + "]" ), + color3 = eval( "[" + pu.nextValue( "color3: " ) + "]" ), + color4 = eval( "[" + pu.nextValue( "color4: " ) + "]" ), + colorStop1 = Number(pu.nextValue( "colorStop1: " )), + colorStop2 = Number(pu.nextValue( "colorStop2: " )), + colorStop3 = Number(pu.nextValue( "colorStop3: " )), + colorStop4 = Number(pu.nextValue( "colorStop4: " )), + angle = Number(pu.nextValue( "angle: " ) ); var endKey = "endMaterial\n"; var index = importStr.indexOf( endKey ); index += endKey.length; rtnStr = importStr.substr( index ); - this.setProperty( "startColor", startColor ); - this.setProperty( "stopColor", stopColor ); + this.setProperty( "color1", color1 ); + this.setProperty( "color2", color2 ); + this.setProperty( "color3", color3 ); + this.setProperty( "color4", color4 ); + this.setProperty( "colorStop1", colorStop1 ); + this.setProperty( "colorStop2", colorStop2 ); + this.setProperty( "colorStop3", colorStop3 ); + this.setProperty( "colorStop4", colorStop4 ); this.setProperty( "angle", angle ); } catch (e) @@ -229,7 +263,7 @@ function LinearGradientMaterial() } return rtnStr; - } + }; } /////////////////////////////////////////////////////////////////////////////////////// @@ -239,7 +273,7 @@ function LinearGradientMaterial() var linearGradientMaterialDef = {'shaders': { - // Brick shader + // shader file 'defaultVShader':"assets/shaders/linearGradient.vert.glsl", 'defaultFShader':"assets/shaders/linearGradient.frag.glsl", @@ -274,7 +308,7 @@ var linearGradientMaterialDef = float alpha1 = max(0.0, 1.0 - ( (light1.x*light1.x)/range + (light1.y*light1.y)/range + (light1.z*light1.z)/range));\ float alpha2 = max(0.0, 1.0 - ( (light2.x*light2.x)/range + (light2.y*light2.y)/range + (light2.z*light2.z)/range));\ gl_FragColor = vec4((u_light2Diff*alpha2 + u_light1Diff*alpha1).rgb, 1.0);\ - }", + }" }, 'techniques': { @@ -288,7 +322,7 @@ var linearGradientMaterialDef = { 'vert' : { 'type' : 'vec3' }, 'normal' : { 'type' : 'vec3' }, - 'texcoord' : { 'type' : 'vec2' }, + 'texcoord' : { 'type' : 'vec2' } }, // parameters 'params' : @@ -311,7 +345,7 @@ var linearGradientMaterialDef = { 'depthEnable' : true, 'offset':[1.0, 0.1] - }, + } }, { // light pass 'vshader' : 'dirLightVShader', @@ -320,7 +354,7 @@ var linearGradientMaterialDef = 'attributes' : { 'a_pos' : { 'type' : 'vec3' }, - 'a_nrm' : { 'type' : 'vec3' }, + 'a_nrm' : { 'type' : 'vec3' } }, // parameters 'params' : @@ -333,8 +367,8 @@ var linearGradientMaterialDef = 'depthEnable' : true, "blendEnable" : true, "srcBlend" : "SRC_ALPHA", - "dstBlend" : "DST_ALPHA", - }, + "dstBlend" : "DST_ALPHA" + } } ] } -- cgit v1.2.3