<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title>TannSanWiki - GenEngine/CloudSystem</title>
<link>http://www.davidmillington.net/pages/GenEngine/CloudSystem</link>
<description>History/revisions of TannSanWiki/GenEngine/CloudSystem</description>
<language>en-us</language>
<item>
<title>2006-07-01 18:38:55</title>
<link>http://www.davidmillington.net/pages/GenEngine/CloudSystem/show?time=2006-07-01+18%3A38%3A55</link>
<description>&lt;div class="pageBefore">&lt;img src="http://www.davidmillington.net/pages/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Comparison for &lt;a name=".genengine.cloudsystem" href="http://www.davidmillington.net/pages/GenEngine/CloudSystem" class="">/Gen&amp;nbsp;Engine&amp;nbsp;/&amp;nbsp;Cloud&amp;nbsp;System&lt;/a> of &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A38%3A55">2006-07-01 18:38:55&lt;/a> and &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem">2006-07-01 18:55:36&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Additions:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> We&amp;nbsp;control the&amp;nbsp;evolution of&amp;nbsp;a cloud by&amp;nbsp;adjusting the&amp;nbsp;transparency level of&amp;nbsp;sprites
&lt;ul>&lt;li> To&amp;nbsp;do this, we&amp;nbsp;calculate a&amp;nbsp;transparency factor and&amp;nbsp;multiply it&amp;nbsp;into the&amp;nbsp;alpha from the&amp;nbsp;shading equations for&amp;nbsp;each vertex.
&lt;/li>&lt;li> We&amp;nbsp;decide the&amp;nbsp;transparency factor based on&amp;nbsp;the sprite’s position within the&amp;nbsp;cloud.
&lt;/li>&lt;li> When a&amp;nbsp;cloud is&amp;nbsp;beginning to&amp;nbsp;form, we&amp;nbsp;render only the&amp;nbsp;sprites whose center is&amp;nbsp;within half of&amp;nbsp;the cloud radius from the&amp;nbsp;cloud center, and&amp;nbsp;we&amp;nbsp;render them with a&amp;nbsp;high transparency level that we&amp;nbsp;decrease over time.
&lt;/li>&lt;li> After they have reached a&amp;nbsp;threshold opacity, we&amp;nbsp;begin to&amp;nbsp;render sprites whose center is&amp;nbsp;over half of&amp;nbsp;the cloud radius from the&amp;nbsp;cloud center.
&lt;/li>&lt;li> Cloud dissipation is&amp;nbsp;simulated by&amp;nbsp;reversing the&amp;nbsp;process.&lt;/li>&lt;/ul>&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2006-07-01 18:36:54</title>
<link>http://www.davidmillington.net/pages/GenEngine/CloudSystem/show?time=2006-07-01+18%3A36%3A54</link>
<description>&lt;div class="pageBefore">&lt;img src="http://www.davidmillington.net/pages/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Comparison for &lt;a  href="http://www.davidmillington.net/pages/GenEngine/CloudSystem" class="">/Gen&amp;nbsp;Engine&amp;nbsp;/&amp;nbsp;Cloud&amp;nbsp;System&lt;/a> of &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A36%3A54">2006-07-01 18:36:54&lt;/a> and &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A38%3A55">2006-07-01 18:38:55&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Additions:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> lock the&amp;nbsp;facing angle of&amp;nbsp;the sprite when the&amp;nbsp;camera comes within half of&amp;nbsp;the sprite radius. This removes the&amp;nbsp;Red Sea&amp;nbsp;effect
&lt;/li>&lt;li> detect the&amp;nbsp;angle between the&amp;nbsp;sprite’s locked orientation and&amp;nbsp;the vector to&amp;nbsp;the camera, and&amp;nbsp;adjust the&amp;nbsp;transparency of&amp;nbsp;the sprite, which also produces the&amp;nbsp;side effect of&amp;nbsp;making that section of&amp;nbsp;the cloud appear less opaque&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2006-07-01 18:34:22</title>
<link>http://www.davidmillington.net/pages/GenEngine/CloudSystem/show?time=2006-07-01+18%3A34%3A22</link>
<description>&lt;div class="pageBefore">&lt;img src="http://www.davidmillington.net/pages/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Comparison for &lt;a  href="http://www.davidmillington.net/pages/GenEngine/CloudSystem" class="">/Gen&amp;nbsp;Engine&amp;nbsp;/&amp;nbsp;Cloud&amp;nbsp;System&lt;/a> of &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A34%3A22">2006-07-01 18:34:22&lt;/a> and &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A36%3A54">2006-07-01 18:36:54&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Additions:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> Textures are&amp;nbsp;32-bit, and&amp;nbsp;used for&amp;nbsp;both color and&amp;nbsp;alpha
&lt;/li>&lt;li> By&amp;nbsp;creating interesting features inside the&amp;nbsp;textures that resemble eddies and&amp;nbsp;wisps, we&amp;nbsp;are able to&amp;nbsp;create more realistic looking clouds with fewer sprites.
&lt;/li>&lt;li> We&amp;nbsp;keep the&amp;nbsp;video memory cost low&amp;nbsp;by&amp;nbsp;placing all&amp;nbsp;16 textures on&amp;nbsp;a single 512x512 texture sheet, which spares the&amp;nbsp;cost of&amp;nbsp;switching textures between drawing calls to&amp;nbsp;the video card
&lt;/li>&lt;li> When the&amp;nbsp;binary file is&amp;nbsp;loaded into the&amp;nbsp;game, the&amp;nbsp;sprite is&amp;nbsp;given a&amp;nbsp;random rotation within the&amp;nbsp;range.
&lt;ul>&lt;li> We&amp;nbsp;have found that it&amp;nbsp;looks best to&amp;nbsp;give the&amp;nbsp;cumulus cloud bottoms a&amp;nbsp;narrow range (-5 to&amp;nbsp;5 degrees) and&amp;nbsp;all other sprites the&amp;nbsp;full range of&amp;nbsp;rotation (0 to&amp;nbsp;360 degrees).
&lt;/li>&lt;li> We&amp;nbsp;do not&amp;nbsp;apply a&amp;nbsp;rotation to&amp;nbsp;non-square sprites.&lt;/li>&lt;/ul>&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2006-07-01 18:33:44</title>
<link>http://www.davidmillington.net/pages/GenEngine/CloudSystem/show?time=2006-07-01+18%3A33%3A44</link>
<description>&lt;div class="pageBefore">&lt;img src="http://www.davidmillington.net/pages/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Comparison for &lt;a  href="http://www.davidmillington.net/pages/GenEngine/CloudSystem" class="">/Gen&amp;nbsp;Engine&amp;nbsp;/&amp;nbsp;Cloud&amp;nbsp;System&lt;/a> of &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A33%3A44">2006-07-01 18:33:44&lt;/a> and &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A34%3A22">2006-07-01 18:34:22&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Additions:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> mix-and-match 16 textures to&amp;nbsp;create a&amp;nbsp;dozen distinct cloud types&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2006-07-01 18:32:09</title>
<link>http://www.davidmillington.net/pages/GenEngine/CloudSystem/show?time=2006-07-01+18%3A32%3A09</link>
<description>&lt;div class="pageBefore">&lt;img src="http://www.davidmillington.net/pages/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Comparison for &lt;a  href="http://www.davidmillington.net/pages/GenEngine/CloudSystem" class="">/Gen&amp;nbsp;Engine&amp;nbsp;/&amp;nbsp;Cloud&amp;nbsp;System&lt;/a> of &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A32%3A09">2006-07-01 18:32:09&lt;/a> and &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A33%3A44">2006-07-01 18:33:44&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Additions:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> traverse the&amp;nbsp;list of&amp;nbsp;clouds and&amp;nbsp;eliminate any&amp;nbsp;sprite whose 3-D distance to&amp;nbsp;another sprite is&amp;nbsp;less than a&amp;nbsp;threshold value. This reduces overdraw in&amp;nbsp;the final rendering, and&amp;nbsp;also eliminates redundant sprites created from overlapping boxes. We&amp;nbsp;have found that a&amp;nbsp;cull radius of&amp;nbsp;1/3 of&amp;nbsp;the sprite height works well for&amp;nbsp;typical clouds, and&amp;nbsp;1/5 ... 1/6 of&amp;nbsp;the sprite height yields dense clouds.&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2006-07-01 18:29:13</title>
<link>http://www.davidmillington.net/pages/GenEngine/CloudSystem/show?time=2006-07-01+18%3A29%3A13</link>
<description>&lt;div class="pageBefore">&lt;img src="http://www.davidmillington.net/pages/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Comparison for &lt;a  href="http://www.davidmillington.net/pages/GenEngine/CloudSystem" class="">/Gen&amp;nbsp;Engine&amp;nbsp;/&amp;nbsp;Cloud&amp;nbsp;System&lt;/a> of &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A29%3A13">2006-07-01 18:29:13&lt;/a> and &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A32%3A09">2006-07-01 18:32:09&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Additions:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> There are&amp;nbsp;generally 20 – 200 boxes for&amp;nbsp;each 16 square kilometer section of&amp;nbsp;clouds
&lt;/li>&lt;li> 1 – 100 sprites per&amp;nbsp;box depending on&amp;nbsp;the cloud density&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2006-07-01 15:00:03</title>
<link>http://www.davidmillington.net/pages/GenEngine/CloudSystem/show?time=2006-07-01+15%3A00%3A03</link>
<description>&lt;div class="pageBefore">&lt;img src="http://www.davidmillington.net/pages/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Comparison for &lt;a  href="http://www.davidmillington.net/pages/GenEngine/CloudSystem" class="">/Gen&amp;nbsp;Engine&amp;nbsp;/&amp;nbsp;Cloud&amp;nbsp;System&lt;/a> of &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+15%3A00%3A03">2006-07-01 15:00:03&lt;/a> and &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+18%3A29%3A13">2006-07-01 18:29:13&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Additions:&lt;/b>&lt;br />
&lt;div class="additions">&lt;hr noshade="noshade" size="1" />
&lt;ul>&lt;li> each cloud as&amp;nbsp;5 to&amp;nbsp;400 alpha-blended textured sprites
&lt;/li>&lt;li> The&amp;nbsp;sprites face the&amp;nbsp;camera during rendering and&amp;nbsp;together comprise a&amp;nbsp;3-dimensional volume
&lt;/li>&lt;li> Render them back-to-front based on&amp;nbsp;distance to&amp;nbsp;the camera&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2006-07-01 14:58:39</title>
<link>http://www.davidmillington.net/pages/GenEngine/CloudSystem/show?time=2006-07-01+14%3A58%3A39</link>
<description>&lt;div class="pageBefore">&lt;img src="http://www.davidmillington.net/pages/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Comparison for &lt;a  href="http://www.davidmillington.net/pages/GenEngine/CloudSystem" class="">/Gen&amp;nbsp;Engine&amp;nbsp;/&amp;nbsp;Cloud&amp;nbsp;System&lt;/a> of &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+14%3A58%3A39">2006-07-01 14:58:39&lt;/a> and &lt;a href="http://www.davidmillington.net/pages/GenEngine/CloudSystem?time=2006-07-01+15%3A00%3A03">2006-07-01 15:00:03&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Additions:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> A&amp;nbsp;cloud &amp;#147;type&amp;#148; system.  I&amp;nbsp;researched cloud types and&amp;nbsp;created an&amp;nbsp;array of&amp;nbsp;their features.  So&amp;nbsp;cumulous clouds would be&amp;nbsp;big and&amp;nbsp;fluffy and&amp;nbsp;others would be&amp;nbsp;long streaks.  This allowed me&amp;nbsp;to say&amp;nbsp;&amp;#147;create 10 cumulus and&amp;nbsp;5 altocumulus clouds&amp;#148; and&amp;nbsp;each cloud group in&amp;nbsp;that type would apply the&amp;nbsp;correct positioning and&amp;nbsp;spacing needed to&amp;nbsp;achieve the&amp;nbsp;correct look.  I&amp;nbsp;created the&amp;nbsp;data but&amp;nbsp;only applied it&amp;nbsp;to cumulus so&amp;nbsp;far.&lt;/li>&lt;/ul>&lt;/div>&lt;br />
&lt;b>Deletions:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;ul>&lt;li> A&amp;nbsp;cloud &amp;#147;type&amp;#148; system.  I&amp;nbsp;researched cloud types and&amp;nbsp;created an&amp;nbsp;array of&amp;nbsp;their features.  So&amp;nbsp;cumulous clouds would be&amp;nbsp;big and&amp;nbsp;buffy and&amp;nbsp;others would be&amp;nbsp;long streaks.  This allowed me&amp;nbsp;to say&amp;nbsp;&amp;#147;create 10 cumulus and&amp;nbsp;5 altocumulus clouds&amp;#148; and&amp;nbsp;each cloud group in&amp;nbsp;that type would apply the&amp;nbsp;correct positioning and&amp;nbsp;spacing needed to&amp;nbsp;achieve the&amp;nbsp;correct look.  I&amp;nbsp;created the&amp;nbsp;data but&amp;nbsp;only applied it&amp;nbsp;to cumulus so&amp;nbsp;far.&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
