<?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>Game Rendering &#187; Culling</title>
	<atom:link href="http://www.gamerendering.com/tag/culling/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gamerendering.com</link>
	<description></description>
	<lastBuildDate>Thu, 21 Jan 2010 01:32:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Cull Levels</title>
		<link>http://www.gamerendering.com/2008/11/17/cull-levels/</link>
		<comments>http://www.gamerendering.com/2008/11/17/cull-levels/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 20:07:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Culling]]></category>
		<category><![CDATA[Batch]]></category>
		<category><![CDATA[Bounding Box]]></category>
		<category><![CDATA[Cull]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Triangle]]></category>
		<category><![CDATA[Triangle Count]]></category>
		<category><![CDATA[View Frustum Culling]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=523</guid>
		<description><![CDATA[These are the different levels culling algorithms can work on.
Triangle Level
Description: Determine for each triangle if it should be culled or not.
Primary goal: Minimize triangle count.
Culling technique example: BSP 
Usage: Not used anymore, cost to much CPU.
Object Level
Description: Check each object (a group of triangles in one buffer) if they should be culled or not.
Primary goal: Minimize [...]]]></description>
			<content:encoded><![CDATA[<p>These are the different levels culling algorithms can work on.</p>
<p><strong>Triangle Level</strong></p>
<p>Description: Determine for each triangle if it should be culled or not.<br />
Primary goal: Minimize triangle count.<br />
Culling technique example: BSP <br />
Usage: Not used anymore, cost to much CPU.</p>
<p><strong>Object Level</strong></p>
<p>Description: Check each object (a group of triangles in one buffer) if they should be culled or not.<br />
Primary goal: Minimize triangle count and keep state changes low.<br />
Culling technique example: View Frustum Culling of Bounding Box Hierarchies<br />
Usage: Often used.</p>
<p><strong>Batch Level</strong></p>
<p>Description: Will check whole batches (a group of objects in one buffer)  if they should be culled or not.<br />
Primary goal: Minimize draw calls and triangle count.<br />
Culling technique example:  Uniform Grid Culling<br />
Usage: Often used.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Please share:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" id="print" href="javascript:window.location='http%3A%2F%2Fwww.printfriendly.com%2Fprint%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Bpartner%3Dsociable';" title="Print this article!"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print this article!" alt="Print this article!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Btitle%3DCull%2520Levels%26amp%3Bbodytext%3DThese%2520are%2520the%2520different%2520levels%2520culling%2520algorithms%2520can%2520work%2520on.%250D%250A%250D%250ATriangle%2520Level%250D%250A%250D%250ADescription%253A%2520Determine%2520for%2520each%2520triangle%2520if%2520it%2520should%2520be%2520culled%2520or%2520not.%250D%250APrimary%2520goal%253A%2520Minimize%2520triangle%2520count.%250D%250ACulling%2520technique%2520example%253A%2520BSP%25C2%25A0%250D%250AUsage%253A%2520Not%2520used%2520any';" title="Digg"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="sphinn" href="javascript:window.location='http%3A%2F%2Fsphinn.com%2Findex.php%3Fc%3Dpost%26m%3Dsubmit%26link%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F';" title="Sphinn"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Btitle%3DCull%2520Levels%26amp%3Bnotes%3DThese%2520are%2520the%2520different%2520levels%2520culling%2520algorithms%2520can%2520work%2520on.%250D%250A%250D%250ATriangle%2520Level%250D%250A%250D%250ADescription%253A%2520Determine%2520for%2520each%2520triangle%2520if%2520it%2520should%2520be%2520culled%2520or%2520not.%250D%250APrimary%2520goal%253A%2520Minimize%2520triangle%2520count.%250D%250ACulling%2520technique%2520example%253A%2520BSP%25C2%25A0%250D%250AUsage%253A%2520Not%2520used%2520any';" title="del.icio.us"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Bt%3DCull%2520Levels';" title="Facebook"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="mixx" href="javascript:window.location='http%3A%2F%2Fwww.mixx.com%2Fsubmit%3Fpage_url%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Btitle%3DCull%2520Levels';" title="Mixx"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="google" href="javascript:window.location='http%3A%2F%2Fwww.google.com%2Fbookmarks%2Fmark%3Fop%3Dedit%26amp%3Bbkmk%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Btitle%3DCull%2520Levels%26amp%3Bannotation%3DThese%2520are%2520the%2520different%2520levels%2520culling%2520algorithms%2520can%2520work%2520on.%250D%250A%250D%250ATriangle%2520Level%250D%250A%250D%250ADescription%253A%2520Determine%2520for%2520each%2520triangle%2520if%2520it%2520should%2520be%2520culled%2520or%2520not.%250D%250APrimary%2520goal%253A%2520Minimize%2520triangle%2520count.%250D%250ACulling%2520technique%2520example%253A%2520BSP%25C2%25A0%250D%250AUsage%253A%2520Not%2520used%2520any';" title="Google Bookmarks"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="current" href="javascript:window.location='http%3A%2F%2Fcurrent.com%2Fclipper.htm%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Btitle%3DCull%2520Levels';" title="Current"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/current.png" title="Current" alt="Current" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="linkedin" href="javascript:window.location='http%3A%2F%2Fwww.linkedin.com%2FshareArticle%3Fmini%3Dtrue%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Btitle%3DCull%2520Levels%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DThese%2520are%2520the%2520different%2520levels%2520culling%2520algorithms%2520can%2520work%2520on.%250D%250A%250D%250ATriangle%2520Level%250D%250A%250D%250ADescription%253A%2520Determine%2520for%2520each%2520triangle%2520if%2520it%2520should%2520be%2520culled%2520or%2520not.%250D%250APrimary%2520goal%253A%2520Minimize%2520triangle%2520count.%250D%250ACulling%2520technique%2520example%253A%2520BSP%25C2%25A0%250D%250AUsage%253A%2520Not%2520used%2520any';" title="LinkedIn"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="live" href="javascript:window.location='https%3A%2F%2Ffavorites.live.com%2Fquickadd.aspx%3Fmarklet%3D1%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Btitle%3DCull%2520Levels';" title="Live"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="myspace" href="javascript:window.location='http%3A%2F%2Fwww.myspace.com%2FModules%2FPostTo%2FPages%2F%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Bt%3DCull%2520Levels';" title="MySpace"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="netvibes" href="javascript:window.location='http%3A%2F%2Fwww.netvibes.com%2Fshare%3Ftitle%3DCull%2520Levels%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F';" title="Netvibes"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Btitle%3DCull%2520Levels';" title="StumbleUpon"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="twitter" href="javascript:window.location='http%3A%2F%2Ftwitter.com%2Fhome%3Fstatus%3DCull%2520Levels%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F';" title="Twitter"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Btitle%3DCull%2520Levels';" title="Reddit"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="technorati" href="javascript:window.location='http%3A%2F%2Ftechnorati.com%2Ffaves%3Fadd%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F';" title="Technorati"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" id="yahoo! bookmarks" href="javascript:window.location='http%3A%2F%2Fbookmarks.yahoo.com%2Ftoolbar%2Fsavebm%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F17%252Fcull-levels%252F%26amp%3Bt%3DCull%2520Levels%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DThese%2520are%2520the%2520different%2520levels%2520culling%2520algorithms%2520can%2520work%2520on.%250D%250A%250D%250ATriangle%2520Level%250D%250A%250D%250ADescription%253A%2520Determine%2520for%2520each%2520triangle%2520if%2520it%2520should%2520be%2520culled%2520or%2520not.%250D%250APrimary%2520goal%253A%2520Minimize%2520triangle%2520count.%250D%250ACulling%2520technique%2520example%253A%2520BSP%25C2%25A0%250D%250AUsage%253A%2520Not%2520used%2520any';" title="Yahoo! Bookmarks"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/yahoomyweb.png" title="Yahoo! Bookmarks" alt="Yahoo! Bookmarks" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gamerendering.com/2008/11/17/cull-levels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic Culling Techniques</title>
		<link>http://www.gamerendering.com/2008/11/02/basic-culling-techniques/</link>
		<comments>http://www.gamerendering.com/2008/11/02/basic-culling-techniques/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 00:46:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Culling]]></category>
		<category><![CDATA[Back Face Culling]]></category>
		<category><![CDATA[Bounding Volume]]></category>
		<category><![CDATA[BSP]]></category>
		<category><![CDATA[Occlusion Culling]]></category>
		<category><![CDATA[Octree]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Optimizations]]></category>
		<category><![CDATA[Portal Culling]]></category>
		<category><![CDATA[Spatial Structure]]></category>
		<category><![CDATA[View Frustum Culling]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=447</guid>
		<description><![CDATA[The best optimization when rendering is to not render anything unnecessary. And that is what culling is about, to find out what can be skipped when rendering because it cannot be visible anyway.  Below are the basic culling techniques which most renderers&#8217; implements. The image is from a course slide.

Back Face Culling
Faces that faces away from the camera can [...]]]></description>
			<content:encoded><![CDATA[<p>The best optimization when rendering is to not render anything unnecessary. And that is what culling is about, to find out what can be skipped when rendering because it cannot be visible anyway.  Below are the basic culling techniques which most renderers&#8217; implements. The image is from a course slide.</p>
<div class="mceTemp"><a href="http://www.gamerendering.com/wp-content/uploads/culling.jpg"><img class="size-medium wp-image-448" title="Culling Techniques" src="http://www.gamerendering.com/wp-content/uploads/culling-400x233.jpg" alt="Culling Techniques" width="400" height="233" /></a></div>
<p><strong>Back Face Culling</strong></p>
<p>Faces that faces away from the camera can not be visible on the screen so they don&#8217;t need to be drawn. This is so often used that it&#8217;s implemented by the hardware. It roughly cuts the amount of faces drawn in half. Just remember to turn it on!</p>
<p><strong>View frustum Culling</strong></p>
<p>The faces that is outside the view frustum can not be visible on the screen (we don&#8217;t bother about reflections now) so they can be culled. This check is done by checking if the geometries bounding volume is outside the view frustum volume or not. So the check will not be done on every face, as that would cost to much. Sometimes, the view frustum culling can cost more than what is gain ( for example when doing instancing). One way to speed up view frustum culling is to use a suitable spatial structure for the scene (octree, BSP or so).</p>
<p>All kind of bounding volume test that you can imagine can be found on this page:<br />
<a href="http://www.realtimerendering.com/intersections.html">http://www.realtimerendering.com/intersections.html</a></p>
<p>Info about frustum culling:<br />
<a href="http://www.flipcode.com/archives/Frustum_Culling.shtml">http://www.flipcode.com/archives/Frustum_Culling.shtml</a></p>
<p><strong>Portal Culling</strong></p>
<p>A technique that divides the scene into cells with portals between. When rendering, the camera will be in one of the rooms and that room will be rendered normally. But for each portal that is visible in the room a view frustum is set up for the size of the portal and then the room behind it is rendered. This will work recursively. The result will be that a lot of geometry can be culled by view frustum culling when rendering the other rooms. A very useful technique for indoor scenes.</p>
<p><strong>Detail Culling</strong></p>
<p>When a geometry is so far away that it&#8217;s not visible then there is no need to draw it at all so it can safely be culled. A more advanced scheme of detail culling that decreases the amount of details with the distance is LOD (level of detail).</p>
<p><strong>Occlusion Culling</strong></p>
<p>The hardest culling technique to implement. Geometry that is occluded by other geometry does not need to be rendered. One solution is to use the Z-buffer and sort the geometry in a front to back order. But this does not always work and all pixels needs to be checked against the Z-buffer so it will be costly for big scenes. Better occlusion culling techniques culls the geometry before it&#8217;s even sent to the GPU.</p>
<p>A good link to a couple of occlusion culling techniques<br />
<a href="http://www.gamasutra.com/features/19991109/moller_haines_01.htm">http://www.gamasutra.com/features/19991109/moller_haines_01.htm</a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Please share:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" id="print" href="javascript:window.location='http%3A%2F%2Fwww.printfriendly.com%2Fprint%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Bpartner%3Dsociable';" title="Print this article!"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print this article!" alt="Print this article!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Btitle%3DBasic%2520Culling%2520Techniques%26amp%3Bbodytext%3DThe%2520best%2520optimization%2520when%2520rendering%2520is%2520to%2520not%2520render%2520anything%2520unnecessary.%2520And%2520that%2520is%2520what%2520culling%2520is%2520about%252C%2520to%2520find%2520out%2520what%25C2%25A0can%2520be%2520skipped%2520when%2520rendering%2520because%2520it%2520cannot%2520be%2520visible%2520anyway.%25C2%25A0%25C2%25A0Below%2520are%2520the%2520basic%2520culling%2520techniques%2520which%2520most%2520r';" title="Digg"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="sphinn" href="javascript:window.location='http%3A%2F%2Fsphinn.com%2Findex.php%3Fc%3Dpost%26m%3Dsubmit%26link%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F';" title="Sphinn"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Btitle%3DBasic%2520Culling%2520Techniques%26amp%3Bnotes%3DThe%2520best%2520optimization%2520when%2520rendering%2520is%2520to%2520not%2520render%2520anything%2520unnecessary.%2520And%2520that%2520is%2520what%2520culling%2520is%2520about%252C%2520to%2520find%2520out%2520what%25C2%25A0can%2520be%2520skipped%2520when%2520rendering%2520because%2520it%2520cannot%2520be%2520visible%2520anyway.%25C2%25A0%25C2%25A0Below%2520are%2520the%2520basic%2520culling%2520techniques%2520which%2520most%2520r';" title="del.icio.us"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Bt%3DBasic%2520Culling%2520Techniques';" title="Facebook"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="mixx" href="javascript:window.location='http%3A%2F%2Fwww.mixx.com%2Fsubmit%3Fpage_url%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Btitle%3DBasic%2520Culling%2520Techniques';" title="Mixx"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="google" href="javascript:window.location='http%3A%2F%2Fwww.google.com%2Fbookmarks%2Fmark%3Fop%3Dedit%26amp%3Bbkmk%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Btitle%3DBasic%2520Culling%2520Techniques%26amp%3Bannotation%3DThe%2520best%2520optimization%2520when%2520rendering%2520is%2520to%2520not%2520render%2520anything%2520unnecessary.%2520And%2520that%2520is%2520what%2520culling%2520is%2520about%252C%2520to%2520find%2520out%2520what%25C2%25A0can%2520be%2520skipped%2520when%2520rendering%2520because%2520it%2520cannot%2520be%2520visible%2520anyway.%25C2%25A0%25C2%25A0Below%2520are%2520the%2520basic%2520culling%2520techniques%2520which%2520most%2520r';" title="Google Bookmarks"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="current" href="javascript:window.location='http%3A%2F%2Fcurrent.com%2Fclipper.htm%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Btitle%3DBasic%2520Culling%2520Techniques';" title="Current"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/current.png" title="Current" alt="Current" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="linkedin" href="javascript:window.location='http%3A%2F%2Fwww.linkedin.com%2FshareArticle%3Fmini%3Dtrue%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Btitle%3DBasic%2520Culling%2520Techniques%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DThe%2520best%2520optimization%2520when%2520rendering%2520is%2520to%2520not%2520render%2520anything%2520unnecessary.%2520And%2520that%2520is%2520what%2520culling%2520is%2520about%252C%2520to%2520find%2520out%2520what%25C2%25A0can%2520be%2520skipped%2520when%2520rendering%2520because%2520it%2520cannot%2520be%2520visible%2520anyway.%25C2%25A0%25C2%25A0Below%2520are%2520the%2520basic%2520culling%2520techniques%2520which%2520most%2520r';" title="LinkedIn"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="live" href="javascript:window.location='https%3A%2F%2Ffavorites.live.com%2Fquickadd.aspx%3Fmarklet%3D1%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Btitle%3DBasic%2520Culling%2520Techniques';" title="Live"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="myspace" href="javascript:window.location='http%3A%2F%2Fwww.myspace.com%2FModules%2FPostTo%2FPages%2F%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Bt%3DBasic%2520Culling%2520Techniques';" title="MySpace"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="netvibes" href="javascript:window.location='http%3A%2F%2Fwww.netvibes.com%2Fshare%3Ftitle%3DBasic%2520Culling%2520Techniques%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F';" title="Netvibes"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Btitle%3DBasic%2520Culling%2520Techniques';" title="StumbleUpon"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="twitter" href="javascript:window.location='http%3A%2F%2Ftwitter.com%2Fhome%3Fstatus%3DBasic%2520Culling%2520Techniques%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F';" title="Twitter"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Btitle%3DBasic%2520Culling%2520Techniques';" title="Reddit"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="technorati" href="javascript:window.location='http%3A%2F%2Ftechnorati.com%2Ffaves%3Fadd%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F';" title="Technorati"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" id="yahoo! bookmarks" href="javascript:window.location='http%3A%2F%2Fbookmarks.yahoo.com%2Ftoolbar%2Fsavebm%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F02%252Fbasic-culling-techniques%252F%26amp%3Bt%3DBasic%2520Culling%2520Techniques%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DThe%2520best%2520optimization%2520when%2520rendering%2520is%2520to%2520not%2520render%2520anything%2520unnecessary.%2520And%2520that%2520is%2520what%2520culling%2520is%2520about%252C%2520to%2520find%2520out%2520what%25C2%25A0can%2520be%2520skipped%2520when%2520rendering%2520because%2520it%2520cannot%2520be%2520visible%2520anyway.%25C2%25A0%25C2%25A0Below%2520are%2520the%2520basic%2520culling%2520techniques%2520which%2520most%2520r';" title="Yahoo! Bookmarks"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/yahoomyweb.png" title="Yahoo! Bookmarks" alt="Yahoo! Bookmarks" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gamerendering.com/2008/11/02/basic-culling-techniques/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scene Graph</title>
		<link>http://www.gamerendering.com/2008/10/18/scene-graph/</link>
		<comments>http://www.gamerendering.com/2008/10/18/scene-graph/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 22:14:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Scene Management]]></category>
		<category><![CDATA[Bounding Boxes]]></category>
		<category><![CDATA[Culling]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Materials]]></category>
		<category><![CDATA[Scene Graph]]></category>
		<category><![CDATA[Shaders]]></category>
		<category><![CDATA[Sorting]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=380</guid>
		<description><![CDATA[A scene graph is a tree structure that tries to structure the objects in a scene accordingly to transformations, textures, materials and much more instead of just the geometrical representation of objects like for example a quadtree does. All games does contain a scene graph in some way, in the most simple form it could [...]]]></description>
			<content:encoded><![CDATA[<p>A scene graph is a tree structure that tries to structure the objects in a scene accordingly to transformations, textures, materials and much more instead of just the geometrical representation of objects like for example a quadtree does. All games does contain a scene graph in some way, in the most simple form it could just be a root node and all other rendered objects as child nodes to the root node.</p>
<p>Here&#8217;s a list of useful links concerning scene graphs. Most links are borrowed from a post on <a href="http://www.gamedev.net">gamedev.net</a> but copied to this post so that I could remove broken links and include new ones.</p>
<li><strong>Scene Graph Basics</strong></li>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Scene_graph">Wikipedia Entry for Scene Graphs</a></li>
<li><a href="http://www.geometrictools.com/Books/GameEngineArchitecture/BookSample.pdf">Game Engine Architecture &#8211; Book Except (Scene Graphs)</a></li>
<li><a href="http://www.gamedev.net/reference/programming/features/scenegraph/">Understanding and Implementing Scene Graphs</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=313696">Scene graph &amp; moving objects</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=110342">Terrain and scene graphs</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=181233">Scenegraph Management</a></li>
</ul>
<p><strong></strong></p>
<li><strong>Scene Graph design/implementation issues/notes etc</strong></li>
<ul>
<li><a href="http://www.realityprime.com/scenegraph.php">Scenegraphs: Past, Present and Future</a></li>
<li><a href="http://gamearchitect.net/Articles/GameObjects2.html">Game Object Structure: Scene Graphs</a></li>
<li><a href="http://gamearchitect.net/Articles/GameObjects3.html">Game Object Structure: Scene Graphs Revisited</a></li>
<li><a href="http://gamearchitect.net/Articles/GameObjectRoundtable.html">The GDC 2003 Game Object Structure Roundtable</a> (scene graph section)</li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=333322">Scene Graph/Renderer interface</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=345631">Scene Graph. DAG or Tree With Mesh List?</a></li>
<li><a href="http://www.openscenegraph.org/osgwiki/pmwiki.php/ProgrammingGuides/DesignPatterns">Design Patterns used in the OpenSceneGraph</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=354804">API-agnostic vertex storage and conversion to API-usable storage</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=299964">Some UML class diagrams</a></li>
<li><a href="http://developer.nvidia.com/object/nvsg_home.html">Nvidia implementation of a scene graph dedicated for good shader support</a></li>
</ul>
<p><strong></strong></p>
<li><strong>SG State Sorting</strong>
<ul>
<li><a href="http://opengl.j3d.org/tutorials/statesorting.html">State Sorting Tutorial</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=344361">Handling State Changes</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=341252&amp;whichpage=1���">render state system thread</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=183462">render state sorting</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=189747">shaders</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=355503">Rendering Sorted Geometry</a></li>
</ul>
</li>
<p><strong></strong></p>
<li><strong>Shader/Material System/Integration</strong></li>
<ul>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?whichpage=2&amp;pagesize=20&amp;topic_id=123169">SG integration</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=169710">Material/Shader implmentation</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=345563">Shader system implementation</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=349479">YASIT</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=355574">Shader Engine Design Decisions</a></li>
</ul>
<p><strong></strong></p>
<li><strong>Optimizations</strong> <strong>for scene graphs</strong></li>
<ul>
<li><a href="http://www.ce.chalmers.se/~uffe/vfc_bbox.pdf">Optimized View Frustum Culling Algorithms for Bounding Boxes</a></li>
<li><a href="http://www.ce.chalmers.se/~uffe/vfc.pdf">Optimized View Frustum Culling Algorithms</a></li>
<li><a href="http://www.cg.tuwien.ac.at/studentwork/CESCG/CESCG-2002/DSykoraJJelinek/">Efficient View Frustum Culling</a></li>
</ul>
<p><strong></strong></p>
<li><strong>Spatialization </strong>
<ul>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=300165">Difference between scenegraph and spatial structure</a></li>
<li><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=128965">Need some help with scenegraph/octree concept</a></li>
</ul>
</li>
<p>Most of this list was copied from the following gamedev.net forum thread.<br />
<a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=349829">http://www.gamedev.net/community/forums/topic.asp?topic_id=349829</a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Please share:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" id="print" href="javascript:window.location='http%3A%2F%2Fwww.printfriendly.com%2Fprint%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Bpartner%3Dsociable';" title="Print this article!"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print this article!" alt="Print this article!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Btitle%3DScene%2520Graph%26amp%3Bbodytext%3DA%2520scene%2520graph%2520is%2520a%2520tree%2520structure%2520that%2520tries%2520to%2520structure%2520the%2520objects%2520in%2520a%2520scene%2520accordingly%2520to%2520transformations%252C%2520textures%252C%2520materials%2520and%2520much%2520more%2520instead%2520of%2520just%2520the%2520geometrical%2520representation%2520of%2520objects%2520like%2520for%2520example%2520a%2520quadtree%2520does.%2520All%2520games%2520d';" title="Digg"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="sphinn" href="javascript:window.location='http%3A%2F%2Fsphinn.com%2Findex.php%3Fc%3Dpost%26m%3Dsubmit%26link%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F';" title="Sphinn"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Btitle%3DScene%2520Graph%26amp%3Bnotes%3DA%2520scene%2520graph%2520is%2520a%2520tree%2520structure%2520that%2520tries%2520to%2520structure%2520the%2520objects%2520in%2520a%2520scene%2520accordingly%2520to%2520transformations%252C%2520textures%252C%2520materials%2520and%2520much%2520more%2520instead%2520of%2520just%2520the%2520geometrical%2520representation%2520of%2520objects%2520like%2520for%2520example%2520a%2520quadtree%2520does.%2520All%2520games%2520d';" title="del.icio.us"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Bt%3DScene%2520Graph';" title="Facebook"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="mixx" href="javascript:window.location='http%3A%2F%2Fwww.mixx.com%2Fsubmit%3Fpage_url%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Btitle%3DScene%2520Graph';" title="Mixx"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="google" href="javascript:window.location='http%3A%2F%2Fwww.google.com%2Fbookmarks%2Fmark%3Fop%3Dedit%26amp%3Bbkmk%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Btitle%3DScene%2520Graph%26amp%3Bannotation%3DA%2520scene%2520graph%2520is%2520a%2520tree%2520structure%2520that%2520tries%2520to%2520structure%2520the%2520objects%2520in%2520a%2520scene%2520accordingly%2520to%2520transformations%252C%2520textures%252C%2520materials%2520and%2520much%2520more%2520instead%2520of%2520just%2520the%2520geometrical%2520representation%2520of%2520objects%2520like%2520for%2520example%2520a%2520quadtree%2520does.%2520All%2520games%2520d';" title="Google Bookmarks"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="current" href="javascript:window.location='http%3A%2F%2Fcurrent.com%2Fclipper.htm%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Btitle%3DScene%2520Graph';" title="Current"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/current.png" title="Current" alt="Current" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="linkedin" href="javascript:window.location='http%3A%2F%2Fwww.linkedin.com%2FshareArticle%3Fmini%3Dtrue%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Btitle%3DScene%2520Graph%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DA%2520scene%2520graph%2520is%2520a%2520tree%2520structure%2520that%2520tries%2520to%2520structure%2520the%2520objects%2520in%2520a%2520scene%2520accordingly%2520to%2520transformations%252C%2520textures%252C%2520materials%2520and%2520much%2520more%2520instead%2520of%2520just%2520the%2520geometrical%2520representation%2520of%2520objects%2520like%2520for%2520example%2520a%2520quadtree%2520does.%2520All%2520games%2520d';" title="LinkedIn"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="live" href="javascript:window.location='https%3A%2F%2Ffavorites.live.com%2Fquickadd.aspx%3Fmarklet%3D1%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Btitle%3DScene%2520Graph';" title="Live"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="myspace" href="javascript:window.location='http%3A%2F%2Fwww.myspace.com%2FModules%2FPostTo%2FPages%2F%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Bt%3DScene%2520Graph';" title="MySpace"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="netvibes" href="javascript:window.location='http%3A%2F%2Fwww.netvibes.com%2Fshare%3Ftitle%3DScene%2520Graph%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F';" title="Netvibes"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Btitle%3DScene%2520Graph';" title="StumbleUpon"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="twitter" href="javascript:window.location='http%3A%2F%2Ftwitter.com%2Fhome%3Fstatus%3DScene%2520Graph%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F';" title="Twitter"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Btitle%3DScene%2520Graph';" title="Reddit"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="technorati" href="javascript:window.location='http%3A%2F%2Ftechnorati.com%2Ffaves%3Fadd%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F';" title="Technorati"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" id="yahoo! bookmarks" href="javascript:window.location='http%3A%2F%2Fbookmarks.yahoo.com%2Ftoolbar%2Fsavebm%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F18%252Fscene-graph%252F%26amp%3Bt%3DScene%2520Graph%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DA%2520scene%2520graph%2520is%2520a%2520tree%2520structure%2520that%2520tries%2520to%2520structure%2520the%2520objects%2520in%2520a%2520scene%2520accordingly%2520to%2520transformations%252C%2520textures%252C%2520materials%2520and%2520much%2520more%2520instead%2520of%2520just%2520the%2520geometrical%2520representation%2520of%2520objects%2520like%2520for%2520example%2520a%2520quadtree%2520does.%2520All%2520games%2520d';" title="Yahoo! Bookmarks"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/yahoomyweb.png" title="Yahoo! Bookmarks" alt="Yahoo! Bookmarks" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gamerendering.com/2008/10/18/scene-graph/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quadtree</title>
		<link>http://www.gamerendering.com/2008/10/17/quadtree/</link>
		<comments>http://www.gamerendering.com/2008/10/17/quadtree/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 23:05:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Spatial Data Structure]]></category>
		<category><![CDATA[Collision Detection]]></category>
		<category><![CDATA[Culling]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Quadtree]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=362</guid>
		<description><![CDATA[Nearly the same as a Octree but instead of dividing the space in cuboids in 3D it&#8217;s rectangles in 2D space. This is useful for rendering terrain and you want to cull a lot of the terrain fast.

A visual demonstration of a quadtree used for fast collision detection:
http://lab.polygonal.de/2007/09/09/quadtree-demonstration/
Introduction to quadtrees and sample code:
http://www.gamedev.net/reference/programming/features/quadtrees/
More info about quadtrees, including source:
http://www.kyleschouviller.com/wsuxna/quadtree-source-included/



Please share:


	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p>Nearly the same as a <a title="Octree" href="http://www.gamerendering.com/2008/10/14/octree/">Octree</a> but instead of dividing the space in cuboids in 3D it&#8217;s rectangles in 2D space. This is useful for rendering terrain and you want to cull a lot of the terrain fast.</p>
<div class="mceTemp"><a href="http://www.gamerendering.com/wp-content/uploads/quadtree.jpg"><img class="size-medium wp-image-363" title="Example of the creation of a quadtree" src="http://www.gamerendering.com/wp-content/uploads/quadtree.jpg" alt="Example of the creation of a quadtree" width="252" height="251" /></a></div>
<p>A visual demonstration of a quadtree used for fast collision detection:<br />
<a href="http://lab.polygonal.de/2007/09/09/quadtree-demonstration/">http://lab.polygonal.de/2007/09/09/quadtree-demonstration/</a></p>
<p>Introduction to quadtrees and sample code:<br />
<a href="http://www.gamedev.net/reference/programming/features/quadtrees/">http://www.gamedev.net/reference/programming/features/quadtrees/</a></p>
<p>More info about quadtrees, including source:<br />
<a href="http://www.kyleschouviller.com/wsuxna/quadtree-source-included/">http://www.kyleschouviller.com/wsuxna/quadtree-source-included/</a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Please share:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" id="print" href="javascript:window.location='http%3A%2F%2Fwww.printfriendly.com%2Fprint%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Bpartner%3Dsociable';" title="Print this article!"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print this article!" alt="Print this article!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="digg" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Btitle%3DQuadtree%26amp%3Bbodytext%3DNearly%2520the%2520same%2520as%2520a%2520Octree%25C2%25A0but%2520instead%2520of%2520dividing%2520the%2520space%2520in%2520cuboids%2520in%25C2%25A03D%25C2%25A0it%2527s%2520rectangles%2520in%25202D%2520space.%2520This%2520is%2520useful%2520for%2520rendering%2520terrain%2520and%2520you%2520want%2520to%2520cull%2520a%2520lot%2520of%2520the%25C2%25A0terrain%2520fast.%250D%250A%250D%250AA%2520visual%2520demonstration%2520of%2520a%2520quadtree%2520used%2520for%2520fast';" title="Digg"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="sphinn" href="javascript:window.location='http%3A%2F%2Fsphinn.com%2Findex.php%3Fc%3Dpost%26m%3Dsubmit%26link%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F';" title="Sphinn"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="del.icio.us" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Btitle%3DQuadtree%26amp%3Bnotes%3DNearly%2520the%2520same%2520as%2520a%2520Octree%25C2%25A0but%2520instead%2520of%2520dividing%2520the%2520space%2520in%2520cuboids%2520in%25C2%25A03D%25C2%25A0it%2527s%2520rectangles%2520in%25202D%2520space.%2520This%2520is%2520useful%2520for%2520rendering%2520terrain%2520and%2520you%2520want%2520to%2520cull%2520a%2520lot%2520of%2520the%25C2%25A0terrain%2520fast.%250D%250A%250D%250AA%2520visual%2520demonstration%2520of%2520a%2520quadtree%2520used%2520for%2520fast';" title="del.icio.us"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="facebook" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Bt%3DQuadtree';" title="Facebook"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="mixx" href="javascript:window.location='http%3A%2F%2Fwww.mixx.com%2Fsubmit%3Fpage_url%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Btitle%3DQuadtree';" title="Mixx"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="google" href="javascript:window.location='http%3A%2F%2Fwww.google.com%2Fbookmarks%2Fmark%3Fop%3Dedit%26amp%3Bbkmk%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Btitle%3DQuadtree%26amp%3Bannotation%3DNearly%2520the%2520same%2520as%2520a%2520Octree%25C2%25A0but%2520instead%2520of%2520dividing%2520the%2520space%2520in%2520cuboids%2520in%25C2%25A03D%25C2%25A0it%2527s%2520rectangles%2520in%25202D%2520space.%2520This%2520is%2520useful%2520for%2520rendering%2520terrain%2520and%2520you%2520want%2520to%2520cull%2520a%2520lot%2520of%2520the%25C2%25A0terrain%2520fast.%250D%250A%250D%250AA%2520visual%2520demonstration%2520of%2520a%2520quadtree%2520used%2520for%2520fast';" title="Google Bookmarks"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="current" href="javascript:window.location='http%3A%2F%2Fcurrent.com%2Fclipper.htm%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Btitle%3DQuadtree';" title="Current"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/current.png" title="Current" alt="Current" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="linkedin" href="javascript:window.location='http%3A%2F%2Fwww.linkedin.com%2FshareArticle%3Fmini%3Dtrue%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Btitle%3DQuadtree%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DNearly%2520the%2520same%2520as%2520a%2520Octree%25C2%25A0but%2520instead%2520of%2520dividing%2520the%2520space%2520in%2520cuboids%2520in%25C2%25A03D%25C2%25A0it%2527s%2520rectangles%2520in%25202D%2520space.%2520This%2520is%2520useful%2520for%2520rendering%2520terrain%2520and%2520you%2520want%2520to%2520cull%2520a%2520lot%2520of%2520the%25C2%25A0terrain%2520fast.%250D%250A%250D%250AA%2520visual%2520demonstration%2520of%2520a%2520quadtree%2520used%2520for%2520fast';" title="LinkedIn"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="live" href="javascript:window.location='https%3A%2F%2Ffavorites.live.com%2Fquickadd.aspx%3Fmarklet%3D1%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Btitle%3DQuadtree';" title="Live"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="myspace" href="javascript:window.location='http%3A%2F%2Fwww.myspace.com%2FModules%2FPostTo%2FPages%2F%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Bt%3DQuadtree';" title="MySpace"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="netvibes" href="javascript:window.location='http%3A%2F%2Fwww.netvibes.com%2Fshare%3Ftitle%3DQuadtree%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F';" title="Netvibes"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="stumbleupon" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Btitle%3DQuadtree';" title="StumbleUpon"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="twitter" href="javascript:window.location='http%3A%2F%2Ftwitter.com%2Fhome%3Fstatus%3DQuadtree%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F';" title="Twitter"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="reddit" href="javascript:window.location='http%3A%2F%2Freddit.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Btitle%3DQuadtree';" title="Reddit"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="technorati" href="javascript:window.location='http%3A%2F%2Ftechnorati.com%2Ffaves%3Fadd%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F';" title="Technorati"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" id="yahoo! bookmarks" href="javascript:window.location='http%3A%2F%2Fbookmarks.yahoo.com%2Ftoolbar%2Fsavebm%3Fu%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Fquadtree%252F%26amp%3Bt%3DQuadtree%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DNearly%2520the%2520same%2520as%2520a%2520Octree%25C2%25A0but%2520instead%2520of%2520dividing%2520the%2520space%2520in%2520cuboids%2520in%25C2%25A03D%25C2%25A0it%2527s%2520rectangles%2520in%25202D%2520space.%2520This%2520is%2520useful%2520for%2520rendering%2520terrain%2520and%2520you%2520want%2520to%2520cull%2520a%2520lot%2520of%2520the%25C2%25A0terrain%2520fast.%250D%250A%250D%250AA%2520visual%2520demonstration%2520of%2520a%2520quadtree%2520used%2520for%2520fast';" title="Yahoo! Bookmarks"><img src="http://www.gamerendering.com/wp-content/plugins/sociable/images/yahoomyweb.png" title="Yahoo! Bookmarks" alt="Yahoo! Bookmarks" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gamerendering.com/2008/10/17/quadtree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
