<?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>A New Music</title>
	<atom:link href="http://joshparnell.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://joshparnell.com/blog</link>
	<description>An Exploration of Procedural Content in Art, Music, and Reality</description>
	<lastBuildDate>Thu, 12 Apr 2012 05:33:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Watch me Render</title>
		<link>http://joshparnell.com/blog/2012/04/12/watch-me-render/</link>
		<comments>http://joshparnell.com/blog/2012/04/12/watch-me-render/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 05:30:57 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[General News]]></category>
		<category><![CDATA[rendering]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1177</guid>
		<description><![CDATA[Stanford has a rendering competition in the Spring, as the final project of a rendering class (CS348b).  I&#8217;m taking the class this quarter, so I&#8217;ll be part of the competition.  Why not start preparing early?
I&#8217;ll be posting my progress in this blog.  I don&#8217;t want to post everything here since this is [...]]]></description>
			<content:encoded><![CDATA[<p>Stanford has a rendering competition in the Spring, as the final project of a rendering class (CS348b).  I&#8217;m taking the class this quarter, so I&#8217;ll be part of the competition.  Why not start preparing early?</p>
<p>I&#8217;ll be posting my progress <a href="http://jpcs348b.blogspot.com">in this blog</a>.  I don&#8217;t want to post everything here since this is really for my own personal endeavors that are unrelated to class, and I&#8217;d rather not flood this space with half-baked ideas and images.</p>
<p>At any rate, I certainly don&#8217;t anticipate winning (let&#8217;s face it, I&#8217;m a real-time graphics guy, not an offline rendering guy&#8230;), but there&#8217;s no harm in giving it a good go, right?  At the end of it all, I&#8217;d just like to have a nice sci-fi image that I can be proud of.</p>
<p>Oh, and, of course, I want all of the scene content to be procedural&#8230;</p>
<p>(no surprises there, right?) <img src='http://joshparnell.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://algocomp.anewmusic.com/images/blog/proceduralship1.png"><img class="aligncenter" title="Procedural Ship" src="http://algocomp.anewmusic.com/images/blog/proceduralship1th.png" alt="" width="495" height="314" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/04/12/watch-me-render/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Quest for Great SSAO</title>
		<link>http://joshparnell.com/blog/2012/04/10/the-quest-for-great-ssao/</link>
		<comments>http://joshparnell.com/blog/2012/04/10/the-quest-for-great-ssao/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 23:42:22 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[General News]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[SSAO]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1175</guid>
		<description><![CDATA[No, in fact, I haven&#8217;t fallen out of love with graphics and stopped working on all of my ideas.  On the contrary, I&#8217;ve been spending the past month or so working hard on writing an OpenGL engine from the ground up.  I have several reasons for doing so, among the them, a purely-curiosity-driven [...]]]></description>
			<content:encoded><![CDATA[<p>No, in fact, I haven&#8217;t fallen out of love with graphics and stopped working on all of my ideas.  On the contrary, I&#8217;ve been spending the past month or so working hard on writing an OpenGL engine from the ground up.  I have several reasons for doing so, among the them, a purely-curiosity-driven desire to learn the world of GL, as well as the fact that school uses GL in all coding assignments.  It&#8217;s been a good experience and I&#8217;m progressing rapidly, but I must say, I&#8217;ve confirmed for myself once-and-for-all that DirectX is the better API, a least from an API standpoint (that is, considering only the interface, not necessarily the performance or functionality).  Surely anyone out there who&#8217;s written a deferred pipeline in both APIs would have to agree&#8230;</p>
<p>At any rate, I&#8217;m revisiting SSAO, since my HLSL implementation was rather lacking (although good enough to produce some cool screenshots).  I&#8217;ve come up with a fairly nice algorithm that uses only a linear depth buffer and screen-space (no unprojecting/reprojecting), but does a little bit of work to approximate the tangent plane at a given point, making it more accurate than a naive screen-space algorithm.  I&#8217;m sure there are still lots of artifacts and places for improvement, but I&#8217;m please with the look of it so far.</p>
<p><a href="http://algocomp.anewmusic.com/images/blog/glssao.png"><img alt="" src="http://algocomp.anewmusic.com/images/blog/glssaoth.png" title="GLSL SSAO" class="aligncenter" width="495" height="268" /></a></p>
<p>Of course, the occlusion there is dramatically exaggerated; I wouldn&#8217;t dare turn it up that high in a serious game.</p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/04/10/the-quest-for-great-ssao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Erosion</title>
		<link>http://joshparnell.com/blog/2012/03/10/erosion/</link>
		<comments>http://joshparnell.com/blog/2012/03/10/erosion/#comments</comments>
		<pubDate>Sat, 10 Mar 2012 22:18:41 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[Algorithmic Art]]></category>
		<category><![CDATA[erosion]]></category>
		<category><![CDATA[procedural terrain]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1172</guid>
		<description><![CDATA[I&#8217;ve been playing around with post-processing functions (so to speak) on the terrain heightfields.  When I designed the current terrain engine, I did so in such a way that terrain chunks have some amount of overlap, with the idea being that a &#8220;small amount&#8221; of post-processing can be done on the heightfield while avoiding [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with post-processing functions (so to speak) on the terrain heightfields.  When I designed the current terrain engine, I did so in such a way that terrain chunks have some amount of overlap, with the idea being that a &#8220;small amount&#8221; of post-processing can be done on the heightfield while avoiding seams.  Of course, the only way to do this for anything that requires information about surrounding heights is to compute some redundant information (i.e., to overlap tiles a bit) and discard it.</p>
<p>Inspired by <a href="http://www.decarpentier.nl/scape-procedural-extensions">http://www.decarpentier.nl/scape-procedural-extensions</a>, I started playing with using finite differences to modulate the heightfield according to its normal vector.  The results are very compelling, although I&#8217;m not getting as nice of results as Giliam yet, presumably because he&#8217;s using an analytic derivative and distorting the input to the noise function, whereas I&#8217;m using a finite difference and just distorting texture coordinates.</p>
<p><a href="http://algocomp.anewmusic.com/images/blog/erosion.png"><img class="aligncenter" title="Erosion" src="http://algocomp.anewmusic.com/images/blog/erosionth.png" alt="" width="495" height="271" /></a></p>
<p>Certainly looks promising.</p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/03/10/erosion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Binary Sunset</title>
		<link>http://joshparnell.com/blog/2012/03/09/binary-sunset/</link>
		<comments>http://joshparnell.com/blog/2012/03/09/binary-sunset/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 06:41:48 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[Algorithmic Art]]></category>
		<category><![CDATA[atmospheric scattering]]></category>
		<category><![CDATA[procedural sunset]]></category>
		<category><![CDATA[procedural terrain]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1170</guid>
		<description><![CDATA[A tribute to the greatest movie ever  

The colors get quite interesting when you start adding more suns!
]]></description>
			<content:encoded><![CDATA[<p>A tribute to the greatest movie ever <img src='http://joshparnell.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://algocomp.anewmusic.com/images/blog/proceduralsunset2.png"><img alt="" src="http://algocomp.anewmusic.com/images/blog/proceduralsunset2th.png" title="Procedural Binary Sunset" class="aligncenter" width="495" height="271" /></a></p>
<p>The colors get quite interesting when you start adding more suns!</p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/03/09/binary-sunset/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Procedural Sunset</title>
		<link>http://joshparnell.com/blog/2012/03/08/procedural-sunset/</link>
		<comments>http://joshparnell.com/blog/2012/03/08/procedural-sunset/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 09:42:40 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[Algorithmic Art]]></category>
		<category><![CDATA[atmospheric scattering]]></category>
		<category><![CDATA[procedural sunset]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1167</guid>
		<description><![CDATA[I played with more complicated atmospheres today.  I refuse to implement overly-fancy techniques just to get something that boils down to a gradient with a few subtleties.  Come on now.  Here&#8217;s a shot from a sunset on a planet orbiting an O star:

I&#8217;m sure the math doesn&#8217;t work out&#8230;you can complain about [...]]]></description>
			<content:encoded><![CDATA[<p>I played with more complicated atmospheres today.  I refuse to implement overly-fancy techniques just to get something that boils down to a gradient with a few subtleties.  Come on now.  Here&#8217;s a shot from a sunset on a planet orbiting an O star:</p>
<p><a href="http://algocomp.anewmusic.com/images/blog/proceduralsunset.png"><img alt="" src="http://algocomp.anewmusic.com/images/blog/proceduralsunsetth.png" title="Procedural Sunset" class="aligncenter" width="495" height="271" /></a></p>
<p>I&#8217;m sure the math doesn&#8217;t work out&#8230;you can complain about not using real scattering equations all day, but man, it sure would be pretty to see this in-game.  Don&#8217;t ever let the real math get in the way of beauty <img src='http://joshparnell.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/03/08/procedural-sunset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deferred Terrain</title>
		<link>http://joshparnell.com/blog/2012/03/06/deferred-terrain/</link>
		<comments>http://joshparnell.com/blog/2012/03/06/deferred-terrain/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 06:23:04 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[Algorithmic Art]]></category>
		<category><![CDATA[deferred rendering]]></category>
		<category><![CDATA[procedural terrain]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1165</guid>
		<description><![CDATA[Brought the terrain shaders over to the new deferred engine tonight.  I didn&#8217;t touch the actual terrain code, so nothing&#8217;s new here&#8230;but it still looks good under the deferred pipeline, so that&#8217;s good news.  And now we have distance blur as well!

]]></description>
			<content:encoded><![CDATA[<p>Brought the terrain shaders over to the new deferred engine tonight.  I didn&#8217;t touch the actual terrain code, so nothing&#8217;s new here&#8230;but it still looks good under the deferred pipeline, so that&#8217;s good news.  And now we have distance blur as well!</p>
<p><a href="http://algocomp.anewmusic.com/images/blog/deferredterrain.png"><img alt="" src="http://algocomp.anewmusic.com/images/blog/deferredterrainth.png" title="Deferred Terrain" class="aligncenter" width="495" height="271" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/03/06/deferred-terrain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Procedural Nebulae Revisited</title>
		<link>http://joshparnell.com/blog/2012/02/24/procedural-nebulae-revisited/</link>
		<comments>http://joshparnell.com/blog/2012/02/24/procedural-nebulae-revisited/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 10:18:10 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[General News]]></category>
		<category><![CDATA[procedural nebulae]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1160</guid>
		<description><![CDATA[Here we go again. Last time I tried nebulas, it was with fake, 2D noise functions. Now, I&#8217;m exploring the volumetric approach. So far, success has been fantastic. I&#8217;m running the whole nebula simulation on the GPU, so the generator is fast (&#60; 1 second), even with a million+ particles. The nebula also renders at [...]]]></description>
			<content:encoded><![CDATA[<p>Here we go again. Last time I tried nebulas, it was with fake, 2D noise functions. Now, I&#8217;m exploring the volumetric approach. So far, success has been fantastic. I&#8217;m running the whole nebula simulation on the GPU, so the generator is fast (&lt; 1 second), even with a million+ particles. The nebula also renders at 60 FPS, which is nice, as I can actively explore it, unlike with previous attempts. Everything is shaping up really nicely, and the XDX Engine is getting plenty of new features along the way. Still need to play with colors, molecular clouds, and lighting in general.</p>
<p><a href="http://algocomp.anewmusic.com/images/blog/nebula4.png"><img class="aligncenter" title="Procedural Nebula" src="http://algocomp.anewmusic.com/images/blog/nebula4th.png" alt="" width="495" /></a></p>
<p><a href="http://algocomp.anewmusic.com/images/blog/nebula4.png">Exciting! <img src='http://joshparnell.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p></a></p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/02/24/procedural-nebulae-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Decent Reflections</title>
		<link>http://joshparnell.com/blog/2012/02/19/decent-reflections/</link>
		<comments>http://joshparnell.com/blog/2012/02/19/decent-reflections/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 20:00:06 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[General News]]></category>
		<category><![CDATA[deferred rendering]]></category>
		<category><![CDATA[reflections]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1158</guid>
		<description><![CDATA[By decent, I mean better than better, which, of course, is two levels above bad, so at least I&#8217;m making progress.  This time the color looks correct and the reflection is more subtle, but it really brings the scene to life (I know, I said that about SSAO too..)

Just for comparison, here&#8217;s what the [...]]]></description>
			<content:encoded><![CDATA[<p>By decent, I mean better than better, which, of course, is two levels above bad, so at least I&#8217;m making progress.  This time the color looks correct and the reflection is more subtle, but it really brings the scene to life (I know, I said that about SSAO too..)</p>
<p><a href="http://algocomp.anewmusic.com/images/blog/envmap3.png"><img alt="" src="http://algocomp.anewmusic.com/images/blog/envmap3th.png" title="Decent Reflections" class="aligncenter" width="495" height="271" /></a></p>
<p>Just for comparison, here&#8217;s what the same scene looks like as it would look in my forward renderer (e.g., last week):</p>
<p><a href="http://algocomp.anewmusic.com/images/blog/envmap3n.png"><img alt="" src="http://algocomp.anewmusic.com/images/blog/envmap3nth.png" title="Decent Reflections" class="aligncenter" width="495" height="271" /></a></p>
<p>Yes indeed, I think XDX rendering has come quite far in a week.</p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/02/19/decent-reflections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Better Reflections</title>
		<link>http://joshparnell.com/blog/2012/02/19/better-reflections/</link>
		<comments>http://joshparnell.com/blog/2012/02/19/better-reflections/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 07:22:01 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[General News]]></category>
		<category><![CDATA[deferred rendering]]></category>
		<category><![CDATA[reflections]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1156</guid>
		<description><![CDATA[Ah, that&#8217;s better. Not great, but way better!  Playing with modulating normals and a new way of computing surface gloss.

]]></description>
			<content:encoded><![CDATA[<p>Ah, that&#8217;s better. Not great, but way better!  Playing with modulating normals and a new way of computing surface gloss.</p>
<p><a href="http://algocomp.anewmusic.com/images/blog/envmap2.png"><img alt="" src="http://algocomp.anewmusic.com/images/blog/envmap2th.png" title="Better Reflections" class="aligncenter" width="495" height="271" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/02/19/better-reflections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bad Reflections</title>
		<link>http://joshparnell.com/blog/2012/02/19/bad-reflections/</link>
		<comments>http://joshparnell.com/blog/2012/02/19/bad-reflections/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 06:37:58 +0000</pubDate>
		<dc:creator>Josh Parnell</dc:creator>
				<category><![CDATA[General News]]></category>
		<category><![CDATA[deferred rendering]]></category>
		<category><![CDATA[reflections]]></category>

		<guid isPermaLink="false">http://joshparnell.com/blog/?p=1154</guid>
		<description><![CDATA[This time, the DoF looks decent, but the reflections are pretty bad.  I figure reflections are an essential part of any sci-fi-ish scene, so I&#8217;ve been working on them lately.  This definitely isn&#8217;t right yet, but, like most of my recent posts, it&#8217;s a start.

]]></description>
			<content:encoded><![CDATA[<p>This time, the DoF looks decent, but the reflections are pretty bad.  I figure reflections are an essential part of any sci-fi-ish scene, so I&#8217;ve been working on them lately.  This definitely isn&#8217;t right yet, but, like most of my recent posts, it&#8217;s a start.</p>
<p><a href="http://algocomp.anewmusic.com/images/blog/envmap.png"><img alt="" src="http://algocomp.anewmusic.com/images/blog/envmapth.png" title="Bad Reflections" class="aligncenter" width="495" height="271" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://joshparnell.com/blog/2012/02/19/bad-reflections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

