/bin-release/srcview/source/away3d/materials/PhongColorMaterial.as.html
https://github.com/davidcoleman007/AS3MazeSolver · HTML · 135 lines · 115 code · 19 blank · 1 comment · 0 complexity · 72cc70db830e1466a157c27ab06e61ce MD5 · raw file
- <!-- saved from url=(0014)about:internet -->
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title>PhongColorMaterial.as</title>
- <link rel="stylesheet" type="text/css" href="../../../SourceStyles.css"/>
- </head>
- <body><pre><span class="ActionScriptpackage">package</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">materials</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">arcane</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">core</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">utils</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">away3d</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">materials</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">shaders</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
-
- <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptOperator">*</span>;
-
- <span class="ActionScriptReserved">use</span> <span class="ActionScriptReserved">namespace</span> <span class="ActionScriptDefault_Text">arcane</span>;
-
- <span class="ActionScriptASDoc">/**
- * Color material with phong shading.
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">PhongColorMaterial</span> <span class="ActionScriptReserved">extends</span> <span class="ActionScriptDefault_Text">CompositeMaterial</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_shininess</span>:<span class="ActionScriptDefault_Text">Number</span>;
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_specular</span>:<span class="ActionScriptDefault_Text">Number</span>;
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_phongShader</span>:<span class="ActionScriptDefault_Text">CompositeMaterial</span>;
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_ambientShader</span>:<span class="ActionScriptDefault_Text">AmbientShader</span>;
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_diffusePhongShader</span>:<span class="ActionScriptDefault_Text">DiffusePhongShader</span>;
- <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_specularPhongShader</span>:<span class="ActionScriptDefault_Text">SpecularPhongShader</span>;
-
- <span class="ActionScriptASDoc">/**
- * Updates the colortransform object applied to the texture from the <code>color</code> and <code>alpha</code> properties.
- *
- * @see away3d.materials.CompositeMaterial#color
- * @see away3d.materials.CompositeMaterial#alpha
- */</span>
- <span class="ActionScriptReserved">protected</span> <span class="ActionScriptReserved">override</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">updateColorTransform</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_colorTransformDirty</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">false</span>;
-
- <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_specular</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_colorTransform</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
- <span class="ActionScriptDefault_Text">_phongShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">color</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_color</span>;
- <span class="ActionScriptDefault_Text">_phongShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">alpha</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_alpha</span>;
- <span class="ActionScriptBracket/Brace">}</span> <span class="ActionScriptReserved">else</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_phongShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">color</span> <span class="ActionScriptOperator">=</span> 0xFFFFFF;
- <span class="ActionScriptDefault_Text">_phongShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">alpha</span> <span class="ActionScriptOperator">=</span> 1;
- <span class="ActionScriptReserved">super</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">updateColorTransform</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * The exponential dropoff value used for specular highlights.
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">shininess</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Number</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_shininess</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">shininess</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">val</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_shininess</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">val</span>;
- <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_specularPhongShader</span><span class="ActionScriptBracket/Brace">)</span>
- <span class="ActionScriptDefault_Text">_specularPhongShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">shininess</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">val</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * Coefficient for specular light level.
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">specular</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Number</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_specular</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">specular</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">val</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_specular</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptDefault_Text">val</span><span class="ActionScriptBracket/Brace">)</span>
- <span class="ActionScriptReserved">return</span>;
-
- <span class="ActionScriptDefault_Text">_specular</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">val</span>;
- <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_specular</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">_specularPhongShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">shininess</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_shininess</span>;
- <span class="ActionScriptDefault_Text">_specularPhongShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">specular</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_specular</span>;
- <span class="ActionScriptDefault_Text">removeMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_ambientShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">removeMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_diffusePhongShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_phongShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_specularPhongShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span> <span class="ActionScriptReserved">else</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">removeMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_phongShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">removeMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_specularPhongShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_ambientShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_diffusePhongShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptDefault_Text">_colorTransformDirty</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">true</span>;
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptASDoc">/**
- * Creates a new <code>PhongBitmapMaterial</code> object.
- *
- * @param color A string, hex value or colorname representing the color of the material.
- * @param init [optional] An initialisation object for specifying default instance properties.
- */</span>
- <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">PhongColorMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">color</span>:<span class="ActionScriptOperator">*</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">init</span>:<span class="ActionScriptDefault_Text">Object</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>
- <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">init</span> <span class="ActionScriptOperator">&&</span> <span class="ActionScriptDefault_Text">init</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptString">"materials"</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">)</span>
- <span class="ActionScriptReserved">delete</span> <span class="ActionScriptDefault_Text">init</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptString">"materials"</span><span class="ActionScriptBracket/Brace">]</span>;
-
- <span class="ActionScriptReserved">super</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">init</span><span class="ActionScriptBracket/Brace">)</span>;
-
- <span class="ActionScriptReserved">this</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">color</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Cast</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">trycolor</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">color</span><span class="ActionScriptBracket/Brace">)</span>;
-
- <span class="ActionScriptDefault_Text">_shininess</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">ini</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getNumber</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"shininess"</span><span class="ActionScriptOperator">,</span> 20<span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">_specular</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">ini</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getNumber</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"specular"</span><span class="ActionScriptOperator">,</span> 0.7<span class="ActionScriptOperator">,</span> <span class="ActionScriptBracket/Brace">{</span><span class="ActionScriptDefault_Text">min</span>:0<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">max</span>:1<span class="ActionScriptBracket/Brace">}</span><span class="ActionScriptBracket/Brace">)</span>;
-
- <span class="ActionScriptComment">//create new materials
- </span> <span class="ActionScriptDefault_Text">_phongShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">CompositeMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">_phongShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_ambientShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">AmbientShader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">{</span><span class="ActionScriptDefault_Text">blendMode</span>:<span class="ActionScriptDefault_Text">BlendMode</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ADD</span><span class="ActionScriptBracket/Brace">}</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">_phongShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_diffusePhongShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">DiffusePhongShader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">{</span><span class="ActionScriptDefault_Text">blendMode</span>:<span class="ActionScriptDefault_Text">BlendMode</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ADD</span><span class="ActionScriptBracket/Brace">}</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">_specularPhongShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">SpecularPhongShader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">{</span><span class="ActionScriptDefault_Text">shininess</span>:<span class="ActionScriptDefault_Text">_shininess</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">specular</span>:<span class="ActionScriptDefault_Text">_specular</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">blendMode</span>:<span class="ActionScriptDefault_Text">BlendMode</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ADD</span><span class="ActionScriptBracket/Brace">}</span><span class="ActionScriptBracket/Brace">)</span>;
-
- <span class="ActionScriptComment">//add to materials array
- </span> <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_specular</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_phongShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_specularPhongShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span> <span class="ActionScriptReserved">else</span> <span class="ActionScriptBracket/Brace">{</span>
- <span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_ambientShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptDefault_Text">addMaterial</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_diffusePhongShader</span><span class="ActionScriptBracket/Brace">)</span>;
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptBracket/Brace">}</span>
-
- <span class="ActionScriptBracket/Brace">}</span>
- <span class="ActionScriptBracket/Brace">}</span></pre></body>
- </html>