<?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>Sgt. Conker &#187; Cull</title>
	<atom:link href="http://www.sgtconker.com/tag/cull/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sgtconker.com</link>
	<description>We are &#34;absolutely fine&#34;</description>
	<lastBuildDate>Thu, 09 Sep 2010 19:48:45 +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>Article : Creating A Scene-Graph in XNA</title>
		<link>http://www.sgtconker.com/2009/10/article-creating-a-scene-graph-in-xna/</link>
		<comments>http://www.sgtconker.com/2009/10/article-creating-a-scene-graph-in-xna/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 20:12:13 +0000</pubDate>
		<dc:creator>Sgt. Conker</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Cull]]></category>
		<category><![CDATA[Frustrum]]></category>
		<category><![CDATA[Model]]></category>
		<category><![CDATA[Scene Graph]]></category>

		<guid isPermaLink="false">http://www.sgtconker.co.uk/?p=315</guid>
		<description><![CDATA[A scene-graph is a tree structure that arranges the elements of a scene into a logical representation. The actual implementation of a scene-graph varies as they are typically designed to suit a particular need. The scene-graph presented here allows elements to be placed in a 'world', manipulated, and displayed with minimal effort. Additionally, view frustum culling is performed.]]></description>
			<content:encoded><![CDATA[<h4 style="text-align: center;">by mdx4ever</h4>
<p><img class="alignright size-thumbnail wp-image-320" title="mdxCull" src="http://www.sgtconker.com/wp-content/uploads/2009/10/mdxCull1-150x150.png" alt="mdxCull" /></p>
<ul>
<li><a href="http://www.sgtconker.com/?p=315&amp;page=1">Introduction</a></li>
<li><a href="http://www.sgtconker.com/?p=315&amp;page=2">The Basics</a></li>
<li><a href="http://www.sgtconker.com/?p=315&amp;page=3">Putting it all together</a></li>
<li><a href="http://www.sgtconker.com/?p=315&amp;page=4">Conclusion</a></li>
</ul>
<h2>Introduction</h2>
<h4>What is a Scene-Graph</h4>
<p>A scene-graph is a tree structure that arranges the elements of a scene into a logical representation. The actual implementation of a scene-graph varies as they are typically designed to suit a particular need. The scene-graph presented here allows elements to be placed in a 'world', manipulated, and displayed with minimal effort. Additionally, view frustum culling is performed.</p>
<p>This article is intended for those familiar with C# and XNA. A basic understanding of 3D graphics is also assumed.<br />
<span id="more-315"></span></p>
<h4>Matrices and Quaternions Simplified</h4>
<p>The math associated with matrix and quaternion operations can be daunting to the beginner. There are several references available on the Internet that explain in detail their operation. As such, a simplified overview is presented instead.</p>
<p>Matrices and quaternions may be used without a detailed understanding of the complex math involved. In its simplest form, they may be thought of as a combination of operations that are applied to a model. Matrix operations include translation, rotation, and scaling. Quaternion operations are typically limited to rotation.</p>
<p>Translation allows models to change location in space. The XNA framework exposes a "Translation" property on every Matrix structure. The property allows you to easily set and retrieve the value that the matrix will use to modify a models position in space. Additionally, XNA provided a Matrix.CreateTranslation method.</p>
<p>Rotation allows models to spin around in space. Both matrix and quaternions can rotate a single axis or all axis simultaneously. The XNA framework can create rotations matrices and quaternions from traditional yaw, pitch, and roll values.</p>
<p>Scaling allows models to change sizes along any axis or a combination of axes making them larger or smaller in space. Scaling matrices can be created using the XNA framework Matrix.CreateScale method.</p>
<p>In some cases it is desirable that the matrix or quaternion not modify a model at all. This is achieved through an "identity" matrix or quaternion. The "identity" can be thought of as a "no operation". XNA defines Matrix.Identity and Quaternion.Identity for this purpose.</p>
<p>A property of matrices and quaternions is that they may be combined (concatenated) together. This ability allows multiple operations to be represented by a single matrix or quaternion. Both are combined using multiplication in XNA. For example, if you wanted to rotate a model, move it, and then change its size, you would multiply the matrices in that order resulting in one matrix that performed all the operations. This property is important for use in a scene-graph as it allows a series of changes to be represented by a single matrix.</p>
<p>Typically three matrices are used to display a model: world, view, and projection. The world matrix is responsible for placing a model in the same space (world) as other models. After the model is placed, it is then transformed again into camera (view) space. This allows the scene to be viewed by a camera that can be moved around without having to reposition each model. The final transform (projection) takes what the camera sees and flattens it out into two dimensions to be displayed on the screen.</p>
<ul>
<li><a href="http://www.sgtconker.com/?p=315&amp;page=1">Introduction</a></li>
<li><a href="http://www.sgtconker.com/?p=315&amp;page=2">The Basics</a></li>
<li><a href="http://www.sgtconker.com/?p=315&amp;page=3">Putting it all together</a></li>
<li><a href="http://www.sgtconker.com/?p=315&amp;page=4">Conclusion</a></li>
</ul>
<p style="text-align: right;"><a href="http://www.sgtconker.com/?p=315&amp;page=2"><strong>Next Page</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgtconker.com/2009/10/article-creating-a-scene-graph-in-xna/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
