<?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>JT&#039;s Stuff</title>
	<atom:link href="http://jetaylor.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://jetaylor.net</link>
	<description>What it&#039;s all about.</description>
	<lastBuildDate>Sun, 28 Feb 2010 20:23:48 +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>GPU Normal Maps (maybe?)</title>
		<link>http://jetaylor.net/2010/02/28/gpu-normal-maps-maybe/</link>
		<comments>http://jetaylor.net/2010/02/28/gpu-normal-maps-maybe/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 20:23:48 +0000</pubDate>
		<dc:creator>JT</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terrain]]></category>

		<guid isPermaLink="false">http://jetaylor.net/?p=86</guid>
		<description><![CDATA[I threw in some code to gen up normal maps. What came out kind of looks like a normal map, I just need to figure out how to do lighting with it. I&#8217;m sure I&#8217;m doing it completely wrong. Either way it&#8217;s pretty looking.]]></description>
			<content:encoded><![CDATA[<p>I threw in some code to gen up normal maps. What came out kind of looks like a normal map, I just need to figure out how to do lighting with it.</p>
<p>I&#8217;m sure I&#8217;m doing it completely wrong. Either way it&#8217;s pretty looking.</p>
<p><a href="http://jetaylor.net/wp/wp-content/uploads/2010/02/NoiseBallNormal.jpg"><img class="alignnone size-medium wp-image-87" title="NoiseBallNormal" src="http://jetaylor.net/wp/wp-content/uploads/2010/02/NoiseBallNormal-300x175.jpg" alt="" width="300" height="175" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://jetaylor.net/2010/02/28/gpu-normal-maps-maybe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>It&#8217;s been awhile.</title>
		<link>http://jetaylor.net/2010/02/28/its-been-awhile/</link>
		<comments>http://jetaylor.net/2010/02/28/its-been-awhile/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 18:11:15 +0000</pubDate>
		<dc:creator>JT</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terrain]]></category>

		<guid isPermaLink="false">http://jetaylor.net/?p=82</guid>
		<description><![CDATA[GPU noise gen is go. Moving to Direct3D 10 as well. ﻿]]></description>
			<content:encoded><![CDATA[<p>GPU noise gen is go. Moving to Direct3D 10 as well.</p>
<p>﻿<a href="http://jetaylor.net/wp/wp-content/uploads/2010/02/NoiseBall.jpg"><img class="alignnone size-medium wp-image-83" title="Noise" src="http://jetaylor.net/wp/wp-content/uploads/2010/02/NoiseBall-300x168.jpg" alt="" width="300" height="168" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://jetaylor.net/2010/02/28/its-been-awhile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Video Up</title>
		<link>http://jetaylor.net/2009/11/01/new-video-up/</link>
		<comments>http://jetaylor.net/2009/11/01/new-video-up/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 15:50:48 +0000</pubDate>
		<dc:creator>JT</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terrain]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Chunked LOD]]></category>
		<category><![CDATA[Perlin]]></category>
		<category><![CDATA[Procedural Terrain]]></category>
		<category><![CDATA[SlimDX]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://jetaylor.net/?p=71</guid>
		<description><![CDATA[I put a new video up on YouTube to show how it&#8217;s going. I&#8217;ve added some new features to the code to take the strain off of generating all of those terrain patches. Note that I intentionally included seams between the nodes to show the LOD changing at work. http://www.youtube.com/watch?v=Tk1JOacvdFE I use a couple of [...]]]></description>
			<content:encoded><![CDATA[<p>I put a new video up on YouTube to show how it&#8217;s going. I&#8217;ve added some new features to the code to take the strain off of generating all of those terrain patches. Note that I intentionally included seams between the nodes to show the LOD changing at work.</p>
<p><a href="http://www.youtube.com/watch?v=Tk1JOacvdFE&#038;fmt=18">http://www.youtube.com/watch?v=Tk1JOacvdFE</a></p>
<p>I use a couple of runs of <a title="Perlin Noise" href="http://en.wikipedia.org/wiki/Perlin_noise" target="_blank">Perlin noise</a> to generate elevation data for nodes in my quadtree. This is done recursively until I hit a leaf node, at which point GPU resources are allocated so that I can render to the screen. All nodes consist of 65*65 vertices, all of which need to run through my noise function to determine things like screen space error constants and bounding volumes. Noise generation is by far the slowest piece of code I have right now. Through experimentation I&#8217;ve found that I can only squeeze two nodes through the noise function per frame, otherwise the program will &#8220;hiccup&#8221; as you move around.</p>
<p>First thing I tried to speed things up was to implement a <a title="LRU Cache" href="http://en.wikipedia.org/wiki/Least_Frequently_Used">LRU cache</a> for nodes. Each quadtree node is given a cache ID for itself and it&#8217;s potential children. When it comes time to switch to a lower LOD, a request is made to the <strong>TerrainNodeGenerator </strong>object. This object checks the cache, and returns the data if it&#8217;s available. If not it creates the elevation data, throws it in the cache, then returns it to the requesting node. When detail levels change the data gets reused if it was recently generated and in cache.</p>
<p>This smoothed things out when moving short distances, but I still needed to limit the amount of requests per frame.</p>
<p>Within the <strong>TerrainNodeGenerator</strong> object I created a queue of <strong>TerrainNodeRequest</strong>s. New requests are now put into a queue, which were worked off at a configurable interval. This was the magic bullet I needed and framerates jumped way up. Hiccups are gone and I can now start working on materials and texturing.</p>
]]></content:encoded>
			<wfw:commentRss>http://jetaylor.net/2009/11/01/new-video-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight</title>
		<link>http://jetaylor.net/2009/10/31/silverlight/</link>
		<comments>http://jetaylor.net/2009/10/31/silverlight/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 14:16:46 +0000</pubDate>
		<dc:creator>JT</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://jetaylor.net/2009/10/31/spending-some-time-learning-ab/</guid>
		<description><![CDATA[Spending some time learning about Silverlight for work. Like Blend, like XAML, really not digging all the extra plumbing needed for binding.]]></description>
			<content:encoded><![CDATA[<p>Spending some time learning about Silverlight for work. Like Blend, like XAML, really not digging all the extra plumbing needed for binding.</p>
]]></content:encoded>
			<wfw:commentRss>http://jetaylor.net/2009/10/31/silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spherical LOD</title>
		<link>http://jetaylor.net/2009/09/27/spherical-lod/</link>
		<comments>http://jetaylor.net/2009/09/27/spherical-lod/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 20:53:39 +0000</pubDate>
		<dc:creator>JT</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terrain]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Geomipmapping]]></category>
		<category><![CDATA[SlimDX]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://jetaylor.net/?p=60</guid>
		<description><![CDATA[Progress is steady. I&#8217;ve spent quite a bit of time this weekend and last refactoring the engine. Good new is that now I have the basics of spherical LOD done so I can focus on planetary rendering. I&#8217;ve been playing around with FRAPS and VirtualDub this weekend so that I can get some YouTube videos [...]]]></description>
			<content:encoded><![CDATA[<p>Progress is steady. I&#8217;ve spent quite a bit of time this weekend and last refactoring the engine. Good new is that now I have the basics of spherical LOD done so I can focus on planetary rendering.</p>
<p>I&#8217;ve been playing around with FRAPS and VirtualDub this weekend so that I can get some YouTube videos going. Here&#8217;s a quick one to show the chunked quadtree patch subdivision.</p>
<p><a href="http://www.youtube.com/watch?v=zWIqMidNTAM&#038;fmt=18">http://www.youtube.com/watch?v=zWIqMidNTAM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jetaylor.net/2009/09/27/spherical-lod/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Update</title>
		<link>http://jetaylor.net/2009/09/13/quick-update/</link>
		<comments>http://jetaylor.net/2009/09/13/quick-update/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 14:39:42 +0000</pubDate>
		<dc:creator>JT</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terrain]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[SlimDX]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://jetaylor.net/?p=36</guid>
		<description><![CDATA[I&#8217;ve decided that before I get much further along, I&#8217;d like to make the terrain spherical so I can simulate planets. I&#8217;m going with the approach outlined at the Britonia site. Of course this means I have to rework a lot of the system to work with spheres. Getting the camera to play nicely has [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided that before I get much further along, I&#8217;d like to make the terrain spherical so I can simulate planets. I&#8217;m going with the approach outlined at the <a href="http://britonia-game.com/index.php?option=com_content&amp;task=view&amp;id=23&amp;Itemid=1">Britonia site</a>. Of course this means I have to rework a lot of the system to work with spheres. Getting the camera to play nicely has been a lot of trial and error. I still have the LOD code to fix up.</p>
<p>I&#8217;m happy that the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b66e14b8-8505-4b17-bf80-edb2df5abad4&amp;displaylang=en">August 2009 DirectX SDK</a> is finally out (in September). There was a bug in the previous release which caused my applications to crash in Windows 7 while using the debug runtime. Looks like I can finally use Windows 7 drivers in Windows 7!</p>
<p>And because everyone likes pictures&#8230;</p>
<p><a href="http://jetaylor.net/wp/wp-content/uploads/2009/09/PlanetTest.png"><img class="alignnone size-medium wp-image-37" title="PlanetTest" src="http://jetaylor.net/wp/wp-content/uploads/2009/09/PlanetTest-300x175.png" alt="PlanetTest" width="300" height="175" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://jetaylor.net/2009/09/13/quick-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Development Screenshots</title>
		<link>http://jetaylor.net/2009/09/05/some-dev-screenshots/</link>
		<comments>http://jetaylor.net/2009/09/05/some-dev-screenshots/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 19:55:54 +0000</pubDate>
		<dc:creator>JT</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terrain]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Geomipmapping]]></category>
		<category><![CDATA[SlimDX]]></category>

		<guid isPermaLink="false">http://jetaylor.net/?p=23</guid>
		<description><![CDATA[I&#8217;ve got a nice 3 day weekend to work on the engine. I&#8217;ve found that geomipmapping alone doesn&#8217;t scale very well, so I&#8217;ve started investigating Chunked LOD. More on that when I get my implementation working. Until then, I just wanted to upload some more dev screenshots.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got a nice 3 day weekend to work on the engine. I&#8217;ve found that geomipmapping alone doesn&#8217;t scale very well, so I&#8217;ve started investigating <a href="http://tulrich.com/geekstuff/chunklod.html">Chunked LOD</a>. More on that when I get my implementation working.</p>
<p>Until then, I just wanted to upload some more dev screenshots.</p>

<a href='http://jetaylor.net/2009/09/05/some-dev-screenshots/betternoise/' title='BetterNoise'><img width="150" height="150" src="http://jetaylor.net/wp/wp-content/uploads/2009/09/BetterNoise-150x150.png" class="attachment-thumbnail" alt="Slightly nicer noise generation." title="BetterNoise" /></a>
<a href='http://jetaylor.net/2009/09/05/some-dev-screenshots/cheapatmosphere/' title='cheapatmosphere'><img width="150" height="150" src="http://jetaylor.net/wp/wp-content/uploads/2009/09/cheapatmosphere-150x150.png" class="attachment-thumbnail" alt="Cheap atmosphere via fog." title="cheapatmosphere" /></a>
<a href='http://jetaylor.net/2009/09/05/some-dev-screenshots/cheapatmosphere2/' title='cheapatmosphere2'><img width="150" height="150" src="http://jetaylor.net/wp/wp-content/uploads/2009/09/cheapatmosphere2-150x150.png" class="attachment-thumbnail" alt="More fog." title="cheapatmosphere2" /></a>
<a href='http://jetaylor.net/2009/09/05/some-dev-screenshots/chunkedlod/' title='chunkedlod'><img width="150" height="150" src="http://jetaylor.net/wp/wp-content/uploads/2009/09/chunkedlod-150x150.png" class="attachment-thumbnail" alt="Beginning work on chunked lod." title="chunkedlod" /></a>
<a href='http://jetaylor.net/2009/09/05/some-dev-screenshots/screenspaceerrors/' title='screenspaceerrors'><img width="150" height="150" src="http://jetaylor.net/wp/wp-content/uploads/2009/09/screenspaceerrors-150x150.png" class="attachment-thumbnail" alt="Shows how much screen space errors affect the LOD chosen." title="screenspaceerrors" /></a>

]]></content:encoded>
			<wfw:commentRss>http://jetaylor.net/2009/09/05/some-dev-screenshots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing a terrain generator/viewer.</title>
		<link>http://jetaylor.net/2009/08/30/writing-a-terrain-generatorviewer/</link>
		<comments>http://jetaylor.net/2009/08/30/writing-a-terrain-generatorviewer/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 21:58:44 +0000</pubDate>
		<dc:creator>JT</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terrain]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Geomipmapping]]></category>
		<category><![CDATA[SlimDX]]></category>

		<guid isPermaLink="false">http://jetaylor.net/wp/?p=4</guid>
		<description><![CDATA[This is a project I find my self trying to get into from time to time. I usually end up getting distracted after getting little work done on it. This week I&#8217;ve managed to get a basic terrain visualizer going. I&#8217;m using some procedural noise and geomipmapping for continuous level of detail. Functionality is very [...]]]></description>
			<content:encoded><![CDATA[<p>This is a project I find my self trying to get into from time to time. I usually end up getting distracted after getting little work done on it.</p>
<p>This week I&#8217;ve managed to get a basic terrain visualizer going. I&#8217;m using some procedural noise and geomipmapping for continuous level of detail. Functionality is very basic, but if I can find some time I&#8217;d like to polish it up and release something.</p>
<p><a href="http://jetaylor.net/wp/wp-content/uploads/2009/08/QuadtreeHell.png"><img class="alignnone size-medium wp-image-6" title="Quadtree Hell" src="http://jetaylor.net/wp/wp-content/uploads/2009/08/QuadtreeHell-300x175.png" alt="Quadtree Hell" width="300" height="175" /></a></p>
<p>Quick visualization for the quadtree structure used. Reminded me of Tron.</p>
<p><a href="http://jetaylor.net/wp/wp-content/uploads/2009/08/TerrainLasagna.png"><img class="alignnone size-medium wp-image-7" title="TerrainLasagna" src="http://jetaylor.net/wp/wp-content/uploads/2009/08/TerrainLasagna-300x175.png" alt="TerrainLasagna" width="300" height="175" /></a></p>
<p>Small error turns the terrain into lasagna.</p>
<p><a href="http://jetaylor.net/wp/wp-content/uploads/2009/08/geomipmappingDone.png"><img class="alignnone size-medium wp-image-5" title="geomipmappingDone" src="http://jetaylor.net/wp/wp-content/uploads/2009/08/geomipmappingDone-300x175.png" alt="geomipmappingDone" width="300" height="175" /></a></p>
<p>Geomipmapping LOD finally working. Huzzah!</p>
]]></content:encoded>
			<wfw:commentRss>http://jetaylor.net/2009/08/30/writing-a-terrain-generatorviewer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

