<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>andy moorer &#187; proceduralism</title>
	<atom:link href="http://andy.moonbase.net/archives/tag/proceduralism/feed" rel="self" type="application/rss+xml" />
	<link>http://andy.moonbase.net</link>
	<description>Digital Artist and Technical Director</description>
	<lastBuildDate>Tue, 07 Feb 2012 08:36:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Misc Images</title>
		<link>http://andy.moonbase.net/archives/548</link>
		<comments>http://andy.moonbase.net/archives/548#comments</comments>
		<pubDate>Sun, 30 Oct 2011 13:56:57 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[softimage]]></category>
		<category><![CDATA[Studios]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=548</guid>
		<description><![CDATA[These are pretty much randomly chosen screenshots and production images, plus some photos, in no particular order&#8230; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;]]></description>
			<content:encoded><![CDATA[<p>These are pretty much randomly chosen screenshots and production images, plus some photos, in no particular order&#8230;</p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/10/VerizonDive_fastPlasma_v009.57.png"><img class="aligncenter size-medium wp-image-549" title="Plasma_orb_Test" src="http://andy.moonbase.net/wp-content/uploads/2011/10/VerizonDive_fastPlasma_v009.57-300x168.png" alt="" width="300" height="168" /></a></p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/10/Parallax_EarlyFaceTest.jpg"><img class="aligncenter size-medium wp-image-550" title="Lantern_EarlyFaceTest" src="http://andy.moonbase.net/wp-content/uploads/2011/10/Parallax_EarlyFaceTest-183x300.jpg" alt="" width="183" height="300" /></a></p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/10/RiverFractal_thumb2.jpg"><img class="aligncenter size-medium wp-image-551" title="RiverFractal_thumb2" src="http://andy.moonbase.net/wp-content/uploads/2011/10/RiverFractal_thumb2-300x228.jpg" alt="" width="300" height="228" /></a></p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/10/scrShot_JA004b.jpg"><img class="aligncenter size-medium wp-image-552" title="scrShot_JA004b" src="http://andy.moonbase.net/wp-content/uploads/2011/10/scrShot_JA004b-300x178.jpg" alt="" width="300" height="178" /></a></p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/archives/548"><em>Click here to view the embedded video.</em></a></p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/archives/548"><em>Click here to view the embedded video.</em></a></p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/10/tori_rotor_ICE.jpg"><img class="aligncenter size-medium wp-image-553" title="tori_rotor_ICE" src="http://andy.moonbase.net/wp-content/uploads/2011/10/tori_rotor_ICE-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/10/snowDeposition01.jpg"><img class="aligncenter size-medium wp-image-554" title="snowDeposition01" src="http://andy.moonbase.net/wp-content/uploads/2011/10/snowDeposition01-300x177.jpg" alt="" width="300" height="177" /></a></p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/10/verizonDive_sequence.jpg"><img class="aligncenter size-medium wp-image-555" title="Dive_sequence" src="http://andy.moonbase.net/wp-content/uploads/2011/10/verizonDive_sequence-90x300.jpg" alt="" width="90" height="300" /></a></p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/10/lightningPropA_basicTest_v001.-16.png"><img class="aligncenter size-medium wp-image-556" title="lightningPropA_basicTest_v001.  16" src="http://andy.moonbase.net/wp-content/uploads/2011/10/lightningPropA_basicTest_v001.-16-300x168.png" alt="" width="300" height="168" /></a></p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/10/NYCapartment.jpg"><img class="aligncenter size-medium wp-image-557" title="NYCapartment" src="http://andy.moonbase.net/wp-content/uploads/2011/10/NYCapartment-114x300.jpg" alt="" width="114" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/548/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Images</title>
		<link>http://andy.moonbase.net/archives/525</link>
		<comments>http://andy.moonbase.net/archives/525#comments</comments>
		<pubDate>Mon, 01 Aug 2011 14:34:25 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Exocortex]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[Slipstream]]></category>
		<category><![CDATA[softimage]]></category>
		<category><![CDATA[xsi]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=525</guid>
		<description><![CDATA[This isn&#8217;t anything special, just a slapped-together polygonized ICE/slipstreamVX pointcloud I made a while back.]]></description>
			<content:encoded><![CDATA[<p>This isn&#8217;t anything special, just a slapped-together polygonized ICE/slipstreamVX pointcloud I made a while back.</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/08/fleshThing_Main.jpg"><img class="aligncenter size-medium wp-image-526" title="fleshThing_Main" src="http://andy.moonbase.net/wp-content/uploads/2011/08/fleshThing_Main-300x168.jpg" alt="" width="300" height="168" /></a></p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/08/fleshThing2.jpg"><img class="aligncenter size-medium wp-image-527" title="fleshThing2" src="http://andy.moonbase.net/wp-content/uploads/2011/08/fleshThing2-300x238.jpg" alt="" width="300" height="238" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/525/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Verlet Spring Water Simulation</title>
		<link>http://andy.moonbase.net/archives/516</link>
		<comments>http://andy.moonbase.net/archives/516#comments</comments>
		<pubDate>Tue, 26 Jul 2011 13:59:45 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Green Lantern]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[lookDev]]></category>
		<category><![CDATA[PLF]]></category>
		<category><![CDATA[previs]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[Simulation]]></category>
		<category><![CDATA[softimage]]></category>
		<category><![CDATA[vfx]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=516</guid>
		<description><![CDATA[It&#8217;s been done by better TDs than myself, but a question arose on SI-community so I decided to pull out and dust off a simulation I slammed together during green lantern in a couple of hours, as an example scene. I put this together when we were doing rapid look dev for a &#8220;green energy&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been done by better TDs than myself, but a question arose on <a href="http://http://www.si-community.com" target="_blank">SI-community</a> so I decided to pull out and dust off a simulation I slammed together during <a href="http://www.youtube.com/watch?v=qee-29-0ths&amp;feature=player_embedded" target="_blank">green lantern</a> in a couple of hours, as an example scene. I put this together when we were doing rapid look dev for a &#8220;green energy&#8221; effect at PLF, where a woman is rescued by splashing into a surface of &#8220;water&#8221; which then turns into a flood and whisks her away from the fight&#8230;</p>
<p style="text-align: center;"><a href="http://andy.moonbase.net/wp-content/uploads/2011/07/verletWater2_sAM.jpg"></a><a href="http://andy.moonbase.net/wp-content/uploads/2011/07/verletWater2_sAM.jpg"><img class="aligncenter size-full wp-image-517" title="verletWater2_sAM" src="http://andy.moonbase.net/wp-content/uploads/2011/07/verletWater2_sAM.jpg" alt="" width="430" height="231" /></a></p>
<p>You can find the compounds and the scene used to make this image<a href="http://andy.moonbase.net/downloads?dl_cat=1"> here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/516/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GEAR &#8211; Use softimage? Get it.</title>
		<link>http://andy.moonbase.net/archives/467</link>
		<comments>http://andy.moonbase.net/archives/467#comments</comments>
		<pubDate>Wed, 13 Jul 2011 14:21:37 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[character]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[Rigging]]></category>
		<category><![CDATA[softimage]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=467</guid>
		<description><![CDATA[Jeremie Passerin is a TD and Rigger who has put a huge amount of time, thought and effort into an open source rigging toolset for Softimage, which he calls GEAR. &#160; Very cool. But, you say, it&#8217;s for softimage and my stinking studio makes me use Maya. Well,  Maya users, have hope. Jeremie has also [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jeremiepasserin.com/blog/" target="_blank">Jeremie Passerin</a> is a TD and Rigger who has put a huge amount of time, thought and effort into an open source rigging toolset for Softimage, which he calls <a href="http://gear.jeremiepasserin.com/" target="_blank">GEAR</a>.</p>
<p>&nbsp;</p>
<p>Very cool. But, you say, it&#8217;s for softimage and my stinking studio makes me use Maya. Well,  Maya users, have hope. Jeremie has also been beta testing a Maya version, called <a href="http://jeremiepasserin.com/blog/index.php?post/2011/07/13/MGear-beta-1">MGEAR.</a></p>
<p>&nbsp;</p>
<p>Let&#8217;s face it, there are more animators needing high quality rigs than there are high quality riggers. And rigging takes a lot of time. That&#8217;s why autoriggers came into being. If you are laboriously assembling all your rigs by hand and you just want to get to animating, you really, <em>really</em> need to be using a solution like Gear.</p>
<p style="text-align: center;"><a href="http://gear.jeremiepasserin.com/"></a><a href="http://gear.jeremiepasserin.com/"><img class="size-full wp-image-469 aligncenter" title="bandeau_03" src="http://andy.moonbase.net/wp-content/uploads/2011/07/bandeau_031.jpg" alt="Visit the GEAR website" width="412" height="134" /></a></p>
<p><a href="http://gear.jeremiepasserin.com/" target="_blank">GEAR</a> has the openness and enough well -thought tools to appeal to a dedicated rigging TD while also providing a fast and reliable way for animators to generate sophisticated rigs with a minimal learning curve. It&#8217;s modular in design, meaning it isn&#8217;t restricted to rigging only humanoids or quadrupeds, and it&#8217;s extensible, so riggers can use GEAR as a framework upon which they build in their own particular style.</p>
<p>&nbsp;</p>
<p>It&#8217;s a very well thought out system and highly recommended for small studios and individual animators who need good rigs fast, as well as riggers interested in having the capabilities of an autorigging framework without the desire (or time) to make their own.</p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/467/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1 minute ICE greebles</title>
		<link>http://andy.moonbase.net/archives/459</link>
		<comments>http://andy.moonbase.net/archives/459#comments</comments>
		<pubDate>Fri, 24 Jun 2011 15:42:58 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[greeble]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[softimage]]></category>
		<category><![CDATA[xsi]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=459</guid>
		<description><![CDATA[Pretty much the simplest kind of greeble &#8220;look&#8221; you can make in ICE, emitting simple boxes on a surface with a turbulence on scaling to add interesting variance&#8230; Expose the scale parameter in the emitter to add a bit more variance, and you&#8217;re there. Needless to say, it&#8217;s simplistic at best, but with some AO [...]]]></description>
			<content:encoded><![CDATA[<p>Pretty much the simplest kind of greeble &#8220;look&#8221; you can make in ICE, emitting simple boxes on a surface with a turbulence on scaling to add interesting variance&#8230; Expose the scale parameter in the emitter to add a bit more variance, and you&#8217;re there. Needless to say, it&#8217;s simplistic at best, but with some AO it still looks interesting&#8230;</p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/06/ice_simpleGreebles.jpg"><img class="aligncenter size-full wp-image-460" title="ice_simpleGreebles" src="http://andy.moonbase.net/wp-content/uploads/2011/06/ice_simpleGreebles.jpg" alt="" width="500" height="662" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/459/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Janimation Facial Animation</title>
		<link>http://andy.moonbase.net/archives/443</link>
		<comments>http://andy.moonbase.net/archives/443#comments</comments>
		<pubDate>Sat, 14 May 2011 23:32:04 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Facial Animation]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[motion capture]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[softimage]]></category>
		<category><![CDATA[vfx]]></category>
		<category><![CDATA[xsi]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=443</guid>
		<description><![CDATA[This demo shows Janimation&#8217;s facial animation methodology. Mocap is run thru face robot for retargeting and to generate some base shapes, which are then sculpted and stored. A rig then uses ICE in some clever ways to blend those shapes as controls are driven by the mocap data (or new data) plus there are some [...]]]></description>
			<content:encoded><![CDATA[<p>This demo shows Janimation&#8217;s facial animation methodology. Mocap is run thru face robot for retargeting and to generate some base shapes, which are then sculpted and stored. A rig then uses ICE in some clever ways to blend those shapes as controls are driven by the mocap data (or new data) plus there are some other tricks. While Face Robot is used early in the process, the end result rig is proprietary to JA, and much faster and easier to work with. Cool stuff.</p>
<p><a href="http://andy.moonbase.net/archives/443"><em>Click here to view the embedded video.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/443/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NPR and procedural sketching in ICE</title>
		<link>http://andy.moonbase.net/archives/432</link>
		<comments>http://andy.moonbase.net/archives/432#comments</comments>
		<pubDate>Wed, 11 May 2011 15:14:16 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[Creative Work]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[NPR]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[sketch]]></category>
		<category><![CDATA[softimage]]></category>
		<category><![CDATA[toon]]></category>
		<category><![CDATA[vfx]]></category>
		<category><![CDATA[xsi]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=432</guid>
		<description><![CDATA[(This article is a follow up to a thread on the XSI mailing list, showing some experiments I did a ways back with NPR using softimage ICE&#8230;) &#160;]]></description>
			<content:encoded><![CDATA[<p><em>(This article is a follow up to a thread on the XSI mailing list, showing some experiments I did a ways back with NPR using softimage ICE&#8230;)</em></p>
<p>&nbsp;</p>
<p><em><a href="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE7.jpg"><img class="aligncenter size-medium wp-image-433" title="NPR_ICE7" src="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE7-154x300.jpg" alt="" width="154" height="300" /></a></em></p>
<p><em><a href="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE6.jpg"><img class="aligncenter size-medium wp-image-434" title="NPR_ICE6" src="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE6-154x300.jpg" alt="" width="154" height="300" /></a></em></p>
<p><em><a href="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE1.jpg"><img class="aligncenter size-medium wp-image-435" title="NPR_ICE1" src="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE1-190x300.jpg" alt="" width="190" height="300" /></a></em></p>
<p><em><a href="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE4.jpg"><img class="aligncenter size-medium wp-image-436" title="NPR_ICE4" src="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE4-300x177.jpg" alt="" width="300" height="177" /></a></em></p>
<p><em><a href="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE8.jpg"><img class="aligncenter size-medium wp-image-437" title="NPR_ICE8" src="http://andy.moonbase.net/wp-content/uploads/2011/05/NPR_ICE8-154x300.jpg" alt="" width="154" height="300" /></a><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/432/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sphRand and even random distributions on a sphere</title>
		<link>http://andy.moonbase.net/archives/416</link>
		<comments>http://andy.moonbase.net/archives/416#comments</comments>
		<pubDate>Mon, 02 May 2011 15:03:57 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Math]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Technical Direction]]></category>
		<category><![CDATA[vfx]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=416</guid>
		<description><![CDATA[While taking an excellent math course over at fxPhd someone asked about the math behind Maya&#8217;s sphRand command, and it kicked off a back and forth exploration into the difficulties behind getting an even distribution of random points on a sphere. This is useful for any number of applications where random vectors are needed. [Note: [...]]]></description>
			<content:encoded><![CDATA[<p>While taking an excellent math course over at <a title="fxPhD" href="https://www.fxphd.com/" target="_blank">fxPhd</a> someone asked about the math behind Maya&#8217;s <em><strong>sphRand</strong></em> command, and it kicked off a back and forth exploration into the difficulties behind getting an even distribution of random points on a sphere. This is useful for any number of applications where random vectors are needed.</p>
<h6><em>[Note: This topic has been covered (better) elsewhere on the web, but I thought it was interesting enough to preserve for myself on this blog. -am]</em></h6>
<p>So how do you generate a random vector in 3D space? The natural inclination is to generate each point based on a simple random azimuth and elevation. But because the circumference of latitudes decreases from the equator towards the poles, the result is an uneven distribution. Generate a few vectors and things will seem fine. But if you generate a large set of thousands of points, you get this:</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/05/randomAzimuthElevation.png"><img class="aligncenter size-medium wp-image-417" title="randomAzimuthElevation" src="http://andy.moonbase.net/wp-content/uploads/2011/05/randomAzimuthElevation-300x281.png" alt="" width="300" height="281" /></a></p>
<p>But we need an even distribution. How about this: generate random values between -1 and 1 for each X, Y and Z. Then normalize those vectors, and again you have a collection of random points on a sphere. But the distribution still isn&#8217;t even&#8230; you are basically projecting the points of a cubic volume onto the sphere surface:</p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/04/sphRand_pointsUnculled.png"><img class="aligncenter size-medium wp-image-414" title="sphRand_pointsUnculled" src="http://andy.moonbase.net/wp-content/uploads/2011/04/sphRand_pointsUnculled-300x200.png" alt="" width="300" height="200" /></a></p>
<p>&nbsp;</p>
<p>You can solve this problem by culling points outside the radius of the sphere (magnitude &gt;1) as they are being generated, and the result is an even distribution on a sphere. This is known as the <em>rejection method</em>, and it works, but it&#8217;s inefficient. You are computing a lot of rejected points. Additionally, as a practical matter &#8220;N iterations&#8221; yields some number less than &#8220;N&#8221; vectors, making it difficult to specify the total number of vectors to be created by such a function.</p>
<p>&nbsp;</p>
<p>Enter the <em>trigonometric method (</em>something of a misnomer seeing as how the method involves the integral of the surface of revolution.)</p>
<p>θ = υ(-1,1)</p>
<p>And Φ = υ(0,2π)</p>
<p>Where υ(a,b) is equal to a uniform random scalar.</p>
<p>So, go from Polar to Cartesian coordinates, and you get:</p>
<p>x = cos(θ) cos(Φ)</p>
<p>y = sin(Φ)</p>
<p>z = cos(θ) sin(Φ)</p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/04/sphRand_trigMethod.png"><img class="aligncenter size-medium wp-image-415" title="sphRand_trigMethod" src="http://andy.moonbase.net/wp-content/uploads/2011/04/sphRand_trigMethod-300x241.png" alt="" width="300" height="241" /></a>And it works.</p>
<p>&nbsp;</p>
<p><em>Digression: if you want to get down to the heart of things, getting a random scalar value, or more specifically a repeatable pseudo-random value based on a specified seed, is it&#8217;s own challenge. Here&#8217;s a snippet of GLSL code, a function written by Stephen Gustavson which generates a &#8220;random&#8221; scalar value from a scalar seed input&#8230; (cos and mod should be familiar&#8230;the &#8220;fract&#8221; function returns the fractional (decimal) portion of it&#8217;s input.)</em></p>
<p><em> </em></p>
<p><em>float randomizer(const float x)<br />
{<br />
float z = mod(x, 5612.0);<br />
z = mod(z, 3.1415927 * 2.0);<br />
return(fract(cos(z) * 56812.5453));<br />
}</em></p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/416/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Terrain Generation Basis Functions</title>
		<link>http://andy.moonbase.net/archives/410</link>
		<comments>http://andy.moonbase.net/archives/410#comments</comments>
		<pubDate>Fri, 29 Apr 2011 20:25:50 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[fractal]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[softimage]]></category>
		<category><![CDATA[terrain]]></category>
		<category><![CDATA[vfx]]></category>
		<category><![CDATA[xsi]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=410</guid>
		<description><![CDATA[Having established a good start on hydraulic erosion, I moved to another area necessary for any good terrain toolkit &#8211; establishing a set of basis functions, from which you can achieve a the natural complexity needed by mixing various basis functions based on criteria such as latitude, slope, height, other fractals etc. Each basis function has it&#8217;s own [...]]]></description>
			<content:encoded><![CDATA[<p>Having established a good start on hydraulic erosion, I moved to another area necessary for any good terrain toolkit &#8211; establishing a set of basis functions, from which you can achieve a the natural complexity needed by mixing various basis functions based on criteria such as latitude, slope, height, other fractals etc. Each basis function has it&#8217;s own character and &#8220;look&#8221; so to get a good heterogeneous result it&#8217;s valuable to be able to draw from a number of different functions. For example, here is a set of simple spheres deformed by a compound in which I use ICE&#8217;s excellent worley noise as a basis, which is then iterated through over a user-defined number of octaves, some of which are further modulated by a simplex fractal. You can see the character of the worley noise clearly, but where the simplex modulation comes into play you get a much more interesting result:</p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/04/worleyBasis.png"><img class="aligncenter size-medium wp-image-411" title="worleyBasis" src="http://andy.moonbase.net/wp-content/uploads/2011/04/worleyBasis-300x181.png" alt="" width="300" height="181" /></a></p>
<p>&nbsp;</p>
<p>Less &#8220;terrain-like&#8221; is this output from a reticulation compound, which uses as it&#8217;s basis the &#8220;computational&#8221; noise described by Stephen Gustafson et al:</p>
<p>&nbsp;</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2011/04/reticulation_simplexBasis.png"><img class="aligncenter size-medium wp-image-412" title="reticulation_GustafsonSimplexBasis" src="http://andy.moonbase.net/wp-content/uploads/2011/04/reticulation_simplexBasis-300x215.png" alt="" width="300" height="215" /></a></p>
<p>Interestingly, I approached this project having not read Ken Musgrave&#8217;s various writing on the subject of terrain generation outside of white papers. Once I did, I found that much of what I have discovered anecdotally he thought through in detail long ago. This is awesome, because it shows that my thinking has validity (after all, there are few who have spent more time and energy on the subject than he) and also because it gives me more threads to pull. I now have a series of compounds at my disposal that do various &#8220;terrain stuff,&#8221; now I can take a step back and decide how to assemble those experimental compounds into a more user-friendly and extensible set of ICE building blocks&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/410/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Terrain Generation via ICE</title>
		<link>http://andy.moonbase.net/archives/349</link>
		<comments>http://andy.moonbase.net/archives/349#comments</comments>
		<pubDate>Sun, 07 Nov 2010 23:28:32 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[3D Graphics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[fractal]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[proceduralism]]></category>
		<category><![CDATA[softimage]]></category>
		<category><![CDATA[terrain]]></category>
		<category><![CDATA[xsi]]></category>

		<guid isPermaLink="false">http://andy.moonbase.net/?p=349</guid>
		<description><![CDATA[In between other projects I&#8217;ve slowly been building a number of softimage ICE compounds which deal with aspects of terrain generation. Here&#8217;s a result of two of them: a ridged perlin fractal and an iterative slope-based errosion. Only the basics are in place as of now &#8211; for instance I need to change the compounds [...]]]></description>
			<content:encoded><![CDATA[<p>In between other projects I&#8217;ve slowly been building a number of softimage ICE compounds which deal with aspects of terrain generation. Here&#8217;s a result of two of them: a ridged perlin fractal and an iterative slope-based errosion. Only the basics are in place as of now &#8211; for instance I need to change the compounds to optionally deform along the original surface normal as opposed to just a y-up implementation (so you can generate planet surfaces etc) and create a set of nodes that let you blen various types of generation schemes (to get, say, a mix of ridged multifractal and fault-fracture methods.) Other items on my &#8220;to-do&#8221; list include:</p>
<p>Texture masks based on height, curvature and slope</p>
<p>River generation (I have one approach but it leaves a lot to be desired)</p>
<p>Additional fractal deforms (worley and other cell based schemes, &#8220;hill&#8221;, variants on multifractals)</p>
<p>Crater formation, ecosystem maps, more refined erosion, and mountain/valley range formation</p>
<p>So, there&#8217;s a lot to do. But one step at a time.</p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2010/11/terrainGeneration1.png"><img class="aligncenter size-medium wp-image-350" title="terrainGeneration1" src="http://andy.moonbase.net/wp-content/uploads/2010/11/terrainGeneration1-300x180.png" alt="" width="300" height="180" /></a></p>
<p><a href="http://andy.moonbase.net/wp-content/uploads/2010/11/terrainGeneration2.png"><img class="aligncenter size-medium wp-image-351" title="terrainGeneration2" src="http://andy.moonbase.net/wp-content/uploads/2010/11/terrainGeneration2-299x144.png" alt="" width="299" height="144" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://andy.moonbase.net/archives/349/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

