<?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>Crappy Coding &#187; XNA</title>
	<atom:link href="http://www.crappycoding.com/category/xna/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crappycoding.com</link>
	<description>Spreading the Geek</description>
	<lastBuildDate>Wed, 11 Aug 2010 11:46:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Texture Modification using Render Targets, with some Stencil Buffer Action</title>
		<link>http://www.crappycoding.com/2010/08/texture-modification-using-render-targets-with-some-stencil-buffer-action/</link>
		<comments>http://www.crappycoding.com/2010/08/texture-modification-using-render-targets-with-some-stencil-buffer-action/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 04:31:01 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[WP7DEV]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[XNA 4.0]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=253</guid>
		<description><![CDATA[Sometimes you need to modify a texture while your game is running, and there are a number of ways to do this. One of the first things newer game programmers often try to do is use Texture2D.GetData to copy the texture data from the GPU to an array on the CPU, modify the bytes, and then send it back to the GPU with Texture2D.SetData.

This is a bad idea on many, levels. Beyond issues with pipeline stalls, GetData and SetData can be slow, especially when working with a large texture. Any time you’re tempted grab data from the GPU for use on the CPU you should very carefully consider all of your options. There are often other solutions that let you keep the data entirely on the GPU and accomplish the same thing.

This tutorial will use an example that could be solved with GetData and SetData, and show you another alternative using render targets and the stencil buffer that will let you perform the same function entirely on the GPU.
]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2010/08/texture-modification-using-render-targets-with-some-stencil-buffer-action/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Procedural Planet Video</title>
		<link>http://www.crappycoding.com/2010/01/procedural-planet-video/</link>
		<comments>http://www.crappycoding.com/2010/01/procedural-planet-video/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 18:31:12 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Procedural Planet]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[procedural]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=221</guid>
		<description><![CDATA[Procedural Planet video showing the space-to-surface transition, as well as the tank driving around a bit. I'm pretty happy with how it looks, but there are a lot of things that still need to be fixed.]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2010/01/procedural-planet-video/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Of Tanks and Quad Trees</title>
		<link>http://www.crappycoding.com/2010/01/of-tanks-and-quad-trees/</link>
		<comments>http://www.crappycoding.com/2010/01/of-tanks-and-quad-trees/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 19:50:40 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Procedural Planet]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[procedural]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=214</guid>
		<description><![CDATA[I needed a bit of a diversion from the planet rendering itself, into something that would give some purpose behind it. Why is the planet there?  Well, what better use is there for a planet than driving a tank on it?]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2010/01/of-tanks-and-quad-trees/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GPU Geometry Map Rendering – Part 2</title>
		<link>http://www.crappycoding.com/2010/01/gpu-geometry-map-rendering-%e2%80%93-part-2/</link>
		<comments>http://www.crappycoding.com/2010/01/gpu-geometry-map-rendering-%e2%80%93-part-2/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 06:27:28 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[Procedural Planet]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[procedural]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=193</guid>
		<description><![CDATA[We left off in part 1 talking about the initial failures with my GPU geometry map shader. I did fail to mention that there was a bright spot the first time I ran the new code – it was amazingly fast. So fast I was able to increase the noise octaves from the 5 that would run reasonably well on the CPU up to 30 and still run at well over 60fps. I have to admit that I spent some of that first 18 hour day just roaming around on a barren, reddish planet. That huge improvement in performance made the pain to come well worth it.
So, at the end of part 1 we set up the C# code for executing the geometry map shader.  Now let’s take a look at the shader itself.]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2010/01/gpu-geometry-map-rendering-%e2%80%93-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Procedural Planet Engine Status</title>
		<link>http://www.crappycoding.com/2009/12/procedural-planet-engine-status/</link>
		<comments>http://www.crappycoding.com/2009/12/procedural-planet-engine-status/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 05:43:29 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Procedural Planet]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[procedural]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=130</guid>
		<description><![CDATA[Previously I mentioned I was going to do a mulligan on my procedural planet engine. The few hours I've worked on it so far have lead to a beautiful new architecture that's doing most of the same things as before, as well as some major new things, using about 25% of the code.]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2009/12/procedural-planet-engine-status/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Guardian Playtest Release</title>
		<link>http://www.crappycoding.com/2009/11/guardian-playtest-release/</link>
		<comments>http://www.crappycoding.com/2009/11/guardian-playtest-release/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 04:40:31 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[XBLIG]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=124</guid>
		<description><![CDATA[Just uploaded the next version of Guardian for playtesting (you'll need to be an XNA Creators Club member and signed in to follow the link successfully).  There were lots of changes this time around.  Over 250 items checked off of the todo list, many of them polish type things, but also some very major changes and additions.]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2009/11/guardian-playtest-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sprite Sheet Creator</title>
		<link>http://www.crappycoding.com/2009/08/sprite-sheet-creator/</link>
		<comments>http://www.crappycoding.com/2009/08/sprite-sheet-creator/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 19:37:33 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=110</guid>
		<description><![CDATA[When developing the iPhone version of Guardian I manually created my sprite sheets.  I used individual sprites up until the end so everything was pretty much set in stone by the time I created the the sprite sheet.  Even then I ended up having to recreate the sprite sheet two or three times, and let me tell you, manually figuring out the texture coordinates isn't a particularly pleasant experience. In this case I believe I made the right choice.  There were few enough sprites that I would have spent more time creating the tool than I would have saved.]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2009/08/sprite-sheet-creator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dream Build Play 2009</title>
		<link>http://www.crappycoding.com/2009/08/dream-build-play-2009/</link>
		<comments>http://www.crappycoding.com/2009/08/dream-build-play-2009/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 03:23:13 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Dream Build Play]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=100</guid>
		<description><![CDATA[I managed to make the deadline for entering the <a href="http://www.dreambuildplay.com">Dream Build Play 2009 competition</a>.  The results are expected to be announced by the end of the month.  Based on the quality of entries this year I'm not holding out a huge amount of hope of actually winning.  Regardless, it was a great experience and I learned quite a bit in the process.]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2009/08/dream-build-play-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yet Another Guardian Progress Video</title>
		<link>http://www.crappycoding.com/2009/07/yet-another-guardian-progress-video/</link>
		<comments>http://www.crappycoding.com/2009/07/yet-another-guardian-progress-video/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 04:50:01 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=97</guid>
		<description><![CDATA[Things are coming along nicely with Guardian.  The <a href="http://www.dreambuildplay.com">Dream Build Play</a> entry deadline is fast approaching, but I think I'm in pretty good shape to get my entry completed.  The video shows most of the functionality. Pretty much all that's left now is fleshing out some of the graphics, and adding a few more weapons.  Then I can start getting some sleep.]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2009/07/yet-another-guardian-progress-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XNA Game Project</title>
		<link>http://www.crappycoding.com/2009/06/xna-game-project/</link>
		<comments>http://www.crappycoding.com/2009/06/xna-game-project/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 04:59:04 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://www.crappycoding.com/?p=89</guid>
		<description><![CDATA[Here's a video of the XNA game I've been working on.  It's a port of the <a href="http://www.willowridgesoftware.com/blog/guardian/">iPhone version</a> with some additional functionality planned.]]></description>
		<wfw:commentRss>http://www.crappycoding.com/2009/06/xna-game-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
