/bin-release/srcview/source/starling/display/materials/StandardMaterial.as.html

https://bitbucket.org/tshubbard/zfstarlingtutorial · HTML · 166 lines · 140 code · 25 blank · 1 comment · 0 complexity · ec9aae2b245547782605de4f735a3d43 MD5 · raw file

  1. <!-- saved from url=(0014)about:internet -->
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6. <title>StandardMaterial.as</title>
  7. <link rel="stylesheet" type="text/css" href="../../../../SourceStyles.css"/>
  8. </head>
  9. <body><pre><span class="ActionScriptpackage">package</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">materials</span>
  10. <span class="ActionScriptBracket/Brace">{</span>
  11. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display3D</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Context3D</span>;
  12. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display3D</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Context3DProgramType</span>;
  13. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display3D</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Context3DVertexBufferFormat</span>;
  14. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display3D</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">IndexBuffer3D</span>;
  15. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display3D</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Program3D</span>;
  16. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display3D</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">VertexBuffer3D</span>;
  17. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">flash</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">geom</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Matrix3D</span>;
  18. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">shaders</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">IShader</span>;
  19. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">shaders</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">fragment</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">VertexColorFragmentShader</span>;
  20. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">display</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">shaders</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">vertex</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">StandardVertexShader</span>;
  21. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">starling</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Texture</span>;
  22. <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">StandardMaterial</span> <span class="ActionScriptReserved">implements</span> <span class="ActionScriptDefault_Text">IMaterial</span>
  23. <span class="ActionScriptBracket/Brace">{</span>
  24. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">program</span> :<span class="ActionScriptDefault_Text">Program3D</span>;
  25. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_vertexShader</span> :<span class="ActionScriptDefault_Text">IShader</span>;
  26. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_fragmentShader</span> :<span class="ActionScriptDefault_Text">IShader</span>;
  27. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_alpha</span> :<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 1;
  28. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_color</span> :<span class="ActionScriptDefault_Text">uint</span>;
  29. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">colorVector</span> :<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">&gt;</span>;
  30. <span class="ActionScriptReserved">private</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">_textures</span> :<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Texture</span><span class="ActionScriptBracket/Brace">&gt;</span>;
  31. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">StandardMaterial</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">vertexShader</span>:<span class="ActionScriptDefault_Text">IShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">fragmentShader</span>:<span class="ActionScriptDefault_Text">IShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span> <span class="ActionScriptBracket/Brace">)</span>
  32. <span class="ActionScriptBracket/Brace">{</span>
  33. <span class="ActionScriptReserved">this</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">vertexShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">vertexShader</span> <span class="ActionScriptOperator">||</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">StandardVertexShader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  34. <span class="ActionScriptReserved">this</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">fragmentShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">fragmentShader</span> <span class="ActionScriptOperator">||</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">VertexColorFragmentShader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  35. <span class="ActionScriptDefault_Text">textures</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Texture</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  36. <span class="ActionScriptDefault_Text">colorVector</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">&gt;</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  37. <span class="ActionScriptDefault_Text">color</span> <span class="ActionScriptOperator">=</span> 0xFFFFFF;
  38. <span class="ActionScriptBracket/Brace">}</span>
  39. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">dispose</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">disposeTextures</span>:<span class="ActionScriptDefault_Text">Boolean</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">false</span> <span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  40. <span class="ActionScriptBracket/Brace">{</span>
  41. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptBracket/Brace">)</span>
  42. <span class="ActionScriptBracket/Brace">{</span>
  43. <span class="ActionScriptDefault_Text">Program3DCache</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">releaseProgram3D</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">program</span><span class="ActionScriptBracket/Brace">)</span>;
  44. <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  45. <span class="ActionScriptBracket/Brace">}</span>
  46. <span class="ActionScriptDefault_Text">_vertexShader</span><span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  47. <span class="ActionScriptDefault_Text">_fragmentShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  48. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">disposeTextures</span><span class="ActionScriptBracket/Brace">)</span>
  49. <span class="ActionScriptBracket/Brace">{</span>
  50. <span class="ActionScriptReserved">for each</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">texture</span>:<span class="ActionScriptDefault_Text">Texture</span> <span class="ActionScriptReserved">in</span> <span class="ActionScriptDefault_Text">_textures</span> <span class="ActionScriptBracket/Brace">)</span>
  51. <span class="ActionScriptBracket/Brace">{</span>
  52. <span class="ActionScriptDefault_Text">texture</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">dispose</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
  53. <span class="ActionScriptBracket/Brace">}</span>
  54. <span class="ActionScriptBracket/Brace">}</span>
  55. <span class="ActionScriptDefault_Text">_textures</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  56. <span class="ActionScriptBracket/Brace">}</span>
  57. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">restoreOnLostContext</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  58. <span class="ActionScriptBracket/Brace">{</span>
  59. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptBracket/Brace">)</span>
  60. <span class="ActionScriptBracket/Brace">{</span>
  61. <span class="ActionScriptDefault_Text">Program3DCache</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">releaseProgram3D</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">program</span><span class="ActionScriptBracket/Brace">)</span>;
  62. <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  63. <span class="ActionScriptBracket/Brace">}</span>
  64. <span class="ActionScriptBracket/Brace">}</span>
  65. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Texture</span><span class="ActionScriptBracket/Brace">&gt;</span> <span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  66. <span class="ActionScriptBracket/Brace">{</span>
  67. <span class="ActionScriptDefault_Text">_textures</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">value</span>;
  68. <span class="ActionScriptBracket/Brace">}</span>
  69. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">textures</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Vector</span><span class="ActionScriptBracket/Brace">.&lt;</span><span class="ActionScriptDefault_Text">Texture</span><span class="ActionScriptBracket/Brace">&gt;</span>
  70. <span class="ActionScriptBracket/Brace">{</span>
  71. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_textures</span>;
  72. <span class="ActionScriptBracket/Brace">}</span>
  73. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">vertexShader</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">IShader</span> <span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  74. <span class="ActionScriptBracket/Brace">{</span>
  75. <span class="ActionScriptDefault_Text">_vertexShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">value</span>;
  76. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptBracket/Brace">)</span>
  77. <span class="ActionScriptBracket/Brace">{</span>
  78. <span class="ActionScriptDefault_Text">Program3DCache</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">releaseProgram3D</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">program</span><span class="ActionScriptBracket/Brace">)</span>;
  79. <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  80. <span class="ActionScriptBracket/Brace">}</span>
  81. <span class="ActionScriptBracket/Brace">}</span>
  82. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">vertexShader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">IShader</span>
  83. <span class="ActionScriptBracket/Brace">{</span>
  84. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_vertexShader</span>;
  85. <span class="ActionScriptBracket/Brace">}</span>
  86. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">fragmentShader</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">IShader</span> <span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  87. <span class="ActionScriptBracket/Brace">{</span>
  88. <span class="ActionScriptDefault_Text">_fragmentShader</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">value</span>;
  89. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptBracket/Brace">)</span>
  90. <span class="ActionScriptBracket/Brace">{</span>
  91. <span class="ActionScriptDefault_Text">Program3DCache</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">releaseProgram3D</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">program</span><span class="ActionScriptBracket/Brace">)</span>;
  92. <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">null</span>;
  93. <span class="ActionScriptBracket/Brace">}</span>
  94. <span class="ActionScriptBracket/Brace">}</span>
  95. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">fragmentShader</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">IShader</span>
  96. <span class="ActionScriptBracket/Brace">{</span>
  97. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_fragmentShader</span>;
  98. <span class="ActionScriptBracket/Brace">}</span>
  99. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">alpha</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">Number</span>
  100. <span class="ActionScriptBracket/Brace">{</span>
  101. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_alpha</span>;
  102. <span class="ActionScriptBracket/Brace">}</span>
  103. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">alpha</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  104. <span class="ActionScriptBracket/Brace">{</span>
  105. <span class="ActionScriptDefault_Text">_alpha</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">value</span>;
  106. <span class="ActionScriptBracket/Brace">}</span>
  107. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">color</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">uint</span>
  108. <span class="ActionScriptBracket/Brace">{</span>
  109. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">_color</span>;
  110. <span class="ActionScriptBracket/Brace">}</span>
  111. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">set</span> <span class="ActionScriptDefault_Text">color</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">value</span>:<span class="ActionScriptDefault_Text">uint</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  112. <span class="ActionScriptBracket/Brace">{</span>
  113. <span class="ActionScriptDefault_Text">_color</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">value</span>;
  114. <span class="ActionScriptDefault_Text">colorVector</span><span class="ActionScriptBracket/Brace">[</span>0<span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_color</span> <span class="ActionScriptOperator">&gt;&gt;</span> 16<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 255;
  115. <span class="ActionScriptDefault_Text">colorVector</span><span class="ActionScriptBracket/Brace">[</span>1<span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_color</span> <span class="ActionScriptOperator">&amp;</span> 0x00FF00<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">&gt;&gt;</span> 8<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 255;
  116. <span class="ActionScriptDefault_Text">colorVector</span><span class="ActionScriptBracket/Brace">[</span>2<span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">_color</span> <span class="ActionScriptOperator">&amp;</span> 0x0000FF<span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">/</span> 255;
  117. <span class="ActionScriptBracket/Brace">}</span>
  118. <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">drawTriangles</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">context</span>:<span class="ActionScriptDefault_Text">Context3D</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">matrix</span>:<span class="ActionScriptDefault_Text">Matrix3D</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">vertexBuffer</span>:<span class="ActionScriptDefault_Text">VertexBuffer3D</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">indexBuffer</span>:<span class="ActionScriptDefault_Text">IndexBuffer3D</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">alpha</span>:<span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> 1 <span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
  119. <span class="ActionScriptBracket/Brace">{</span>
  120. <span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setVertexBufferAt</span><span class="ActionScriptBracket/Brace">(</span> 0<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">vertexBuffer</span><span class="ActionScriptOperator">,</span> 0<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">Context3DVertexBufferFormat</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">FLOAT_3</span> <span class="ActionScriptBracket/Brace">)</span>;
  121. <span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setVertexBufferAt</span><span class="ActionScriptBracket/Brace">(</span> 1<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">vertexBuffer</span><span class="ActionScriptOperator">,</span> 3<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">Context3DVertexBufferFormat</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">FLOAT_4</span> <span class="ActionScriptBracket/Brace">)</span>;
  122. <span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setVertexBufferAt</span><span class="ActionScriptBracket/Brace">(</span> 2<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">vertexBuffer</span><span class="ActionScriptOperator">,</span> 7<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">Context3DVertexBufferFormat</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">FLOAT_2</span> <span class="ActionScriptBracket/Brace">)</span>;
  123. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptReserved">null</span> <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">_vertexShader</span> <span class="ActionScriptOperator">&amp;&amp;</span> <span class="ActionScriptDefault_Text">_fragmentShader</span> <span class="ActionScriptBracket/Brace">)</span>
  124. <span class="ActionScriptBracket/Brace">{</span>
  125. <span class="ActionScriptDefault_Text">program</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Program3DCache</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getProgram3D</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">_vertexShader</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">_fragmentShader</span><span class="ActionScriptBracket/Brace">)</span>;
  126. <span class="ActionScriptBracket/Brace">}</span>
  127. <span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setProgram</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">program</span><span class="ActionScriptBracket/Brace">)</span>;
  128. <span class="ActionScriptReserved">for</span> <span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">i</span>:<span class="ActionScriptDefault_Text">int</span> <span class="ActionScriptOperator">=</span> 0; <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">&lt;</span> 8; <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">++</span> <span class="ActionScriptBracket/Brace">)</span>
  129. <span class="ActionScriptBracket/Brace">{</span>
  130. <span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setTextureAt</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">i</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">i</span> <span class="ActionScriptOperator">&lt;</span> <span class="ActionScriptDefault_Text">_textures</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">length</span> <span class="ActionScriptOperator">?</span> <span class="ActionScriptDefault_Text">_textures</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">i</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">base</span> : <span class="ActionScriptReserved">null</span> <span class="ActionScriptBracket/Brace">)</span>;
  131. <span class="ActionScriptBracket/Brace">}</span>
  132. <span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setProgramConstantsFromMatrix</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">Context3DProgramType</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">VERTEX</span><span class="ActionScriptOperator">,</span> 0<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">matrix</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptReserved">true</span><span class="ActionScriptBracket/Brace">)</span>;
  133. <span class="ActionScriptDefault_Text">_vertexShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setConstants</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">,</span> 4<span class="ActionScriptBracket/Brace">)</span>;
  134. <span class="ActionScriptDefault_Text">colorVector</span><span class="ActionScriptBracket/Brace">[</span>3<span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">_alpha</span><span class="ActionScriptOperator">*</span><span class="ActionScriptDefault_Text">alpha</span>; <span class="ActionScriptComment">// Multiply display obect's alpha by material alpha.
  135. </span> <span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setProgramConstantsFromVector</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">Context3DProgramType</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">FRAGMENT</span><span class="ActionScriptOperator">,</span> 0<span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">colorVector</span> <span class="ActionScriptBracket/Brace">)</span>;
  136. <span class="ActionScriptDefault_Text">_fragmentShader</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setConstants</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">,</span> 1<span class="ActionScriptBracket/Brace">)</span>;
  137. <span class="ActionScriptDefault_Text">context</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">drawTriangles</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">indexBuffer</span><span class="ActionScriptBracket/Brace">)</span>;
  138. <span class="ActionScriptBracket/Brace">}</span>
  139. <span class="ActionScriptBracket/Brace">}</span>
  140. <span class="ActionScriptBracket/Brace">}</span></pre></body>
  141. </html>