<?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; OpenGL</title>
	<atom:link href="http://www.gamerendering.com/tag/opengl/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>Great free graphics programming books!</title>
		<link>http://www.gamerendering.com/2009/12/10/great-free-graphics-programming-books/</link>
		<comments>http://www.gamerendering.com/2009/12/10/great-free-graphics-programming-books/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 12:25:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[Geometry Shader]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Pixel Shader]]></category>
		<category><![CDATA[Shaders]]></category>
		<category><![CDATA[Vertex Shader]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=769</guid>
		<description><![CDATA[Here is a list of good books that all graphics programmer&#8217;s should read. They are a little dated now, but FREE!
     

       

     

    


Feel free to mention in the comments if you know other free books online.



Please share:


	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p>Here is a list of good books that all graphics programmer&#8217;s should read. They are a little dated now, but <strong>FREE</strong>!</p>
<p><a href="http://wiki.gamedev.net/index.php/D3DBook:Book_Cover"></a><a href="http://wiki.gamedev.net/index.php/D3DBook:Book_Cover"><img class="alignnone size-medium wp-image-785" title="Programming Vertex, Geometry, and Pixel Shaders" src="http://www.gamerendering.com/wp-content/uploads/programmingVGPS2-317x400.jpg" alt="Programming Vertex, Geometry, and Pixel Shaders" width="222" height="280" /></a>     <a href="http://tog.acm.org/resources/shaderx/Direct3D.ShaderX.Vertex.and.Pixel.Shader.Tips.and.Tricks_Wolfgang.F.Engel_Wordware.Pub_2002.pdf"><img class="size-medium wp-image-770" title="ShaderX1" src="http://www.gamerendering.com/wp-content/uploads/ShaderX1-320x400.jpg" alt="ShaderX1" width="205" height="256" /></a></p>
<div class="mceTemp"><a href="http://tog.acm.org/resources/shaderx/Direct3D.ShaderX.Vertex.and.Pixel.Shader.Tips.and.Tricks_Wolfgang.F.Engel_Wordware.Pub_2002.pdf"></a></div>
<div class="mceTemp"><a href="http://tog.acm.org/resources/shaderx/Introductions_and_Tutorials_with_DirectX_9.pdf"><img class="size-medium wp-image-771" title="ShaderX2" src="http://www.gamerendering.com/wp-content/uploads/ShaderX2-264x400.jpg" alt="ShaderX2" width="214" height="324" /></a>       <a href="http://tog.acm.org/resources/shaderx/Tips_and_Tricks_with_DirectX_9.pdf"><img class="alignnone size-full wp-image-772" title="ShaderX2" src="http://www.gamerendering.com/wp-content/uploads/ShaderX2b.jpg" alt="ShaderX2" width="200" height="301" /></a></div>
<div class="mceTemp"><a href="http://tog.acm.org/resources/shaderx/Tips_and_Tricks_with_DirectX_9.pdf"></a></div>
<div class="mceTemp"><a href="http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter01.html"><img class="alignnone size-medium wp-image-777" title="CgTutorial" src="http://www.gamerendering.com/wp-content/uploads/CgTutorial-319x400.jpg" alt="CgTutorial" width="230" height="288" /></a>     <a href="http://http.developer.nvidia.com/GPUGems/gpugems_part01.html"><img class="alignnone size-medium wp-image-778" title="GPU Gems" src="http://www.gamerendering.com/wp-content/uploads/GPUGems1-319x400.jpg" alt="GPU Gems" width="223" height="280" /></a></div>
<div class="mceTemp"><a href="http://http.developer.nvidia.com/GPUGems/gpugems_part01.html"></a></div>
<div class="mceTemp"><a href="http://http.developer.nvidia.com/GPUGems2/gpugems2_part01.html"><img class="alignnone size-medium wp-image-779" title="GPU Gems 2" src="http://www.gamerendering.com/wp-content/uploads/GPUGems2-313x400.jpg" alt="GPU Gems 2" width="200" height="256" /></a>    <a href="http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html"><img class="alignnone size-medium wp-image-780" title="GPU Gems 3" src="http://www.gamerendering.com/wp-content/uploads/GPUGems3-317x400.jpg" alt="GPU Gems 3" width="222" height="280" /></a></div>
<div class="mceTemp"><a href="http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html"></a></div>
<div class="mceTemp"><a href="http://www.glprogramming.com/red/"></a></div>
<div class="mceTemp"><em>Feel free to mention in the comments if you know other free books online.</em></div>

<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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Btitle%3DGreat%2520free%2520graphics%2520programming%2520books%2521%26amp%3Bbodytext%3DHere%2520is%2520a%2520list%2520of%2520good%2520books%2520that%2520all%2520graphics%2520programmer%2527s%2520should%2520read.%2520They%2520are%2520a%2520little%2520dated%2520now%252C%2520but%2520FREE%2521%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%250D%250AFeel%2520free%2520to%2520mention%2520in%2520the%2520comments%2520if%2520you%2520know%2520other%2520free%2520books%2520online.';" 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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Btitle%3DGreat%2520free%2520graphics%2520programming%2520books%2521%26amp%3Bnotes%3DHere%2520is%2520a%2520list%2520of%2520good%2520books%2520that%2520all%2520graphics%2520programmer%2527s%2520should%2520read.%2520They%2520are%2520a%2520little%2520dated%2520now%252C%2520but%2520FREE%2521%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%250D%250AFeel%2520free%2520to%2520mention%2520in%2520the%2520comments%2520if%2520you%2520know%2520other%2520free%2520books%2520online.';" 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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Bt%3DGreat%2520free%2520graphics%2520programming%2520books%2521';" 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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Btitle%3DGreat%2520free%2520graphics%2520programming%2520books%2521';" 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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Btitle%3DGreat%2520free%2520graphics%2520programming%2520books%2521%26amp%3Bannotation%3DHere%2520is%2520a%2520list%2520of%2520good%2520books%2520that%2520all%2520graphics%2520programmer%2527s%2520should%2520read.%2520They%2520are%2520a%2520little%2520dated%2520now%252C%2520but%2520FREE%2521%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%250D%250AFeel%2520free%2520to%2520mention%2520in%2520the%2520comments%2520if%2520you%2520know%2520other%2520free%2520books%2520online.';" 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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Btitle%3DGreat%2520free%2520graphics%2520programming%2520books%2521';" 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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Btitle%3DGreat%2520free%2520graphics%2520programming%2520books%2521%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DHere%2520is%2520a%2520list%2520of%2520good%2520books%2520that%2520all%2520graphics%2520programmer%2527s%2520should%2520read.%2520They%2520are%2520a%2520little%2520dated%2520now%252C%2520but%2520FREE%2521%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%250D%250AFeel%2520free%2520to%2520mention%2520in%2520the%2520comments%2520if%2520you%2520know%2520other%2520free%2520books%2520online.';" 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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Btitle%3DGreat%2520free%2520graphics%2520programming%2520books%2521';" 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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Bt%3DGreat%2520free%2520graphics%2520programming%2520books%2521';" 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%3DGreat%2520free%2520graphics%2520programming%2520books%2521%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Btitle%3DGreat%2520free%2520graphics%2520programming%2520books%2521';" 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%3DGreat%2520free%2520graphics%2520programming%2520books%2521%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Btitle%3DGreat%2520free%2520graphics%2520programming%2520books%2521';" 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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%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%252F2009%252F12%252F10%252Fgreat-free-graphics-programming-books%252F%26amp%3Bt%3DGreat%2520free%2520graphics%2520programming%2520books%2521%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DHere%2520is%2520a%2520list%2520of%2520good%2520books%2520that%2520all%2520graphics%2520programmer%2527s%2520should%2520read.%2520They%2520are%2520a%2520little%2520dated%2520now%252C%2520but%2520FREE%2521%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%25C2%25A0%25C2%25A0%25C2%25A0%2520%250D%250A%250D%250A%250D%250AFeel%2520free%2520to%2520mention%2520in%2520the%2520comments%2520if%2520you%2520know%2520other%2520free%2520books%2520online.';" 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/2009/12/10/great-free-graphics-programming-books/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Basic Shadow Mapping</title>
		<link>http://www.gamerendering.com/2008/10/23/basic-shadow-mapping/</link>
		<comments>http://www.gamerendering.com/2008/10/23/basic-shadow-mapping/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 23:28:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Shadow Mapping]]></category>
		<category><![CDATA[Artifacts]]></category>
		<category><![CDATA[Bias]]></category>
		<category><![CDATA[Camera Space]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[Fixed-function]]></category>
		<category><![CDATA[Fragment]]></category>
		<category><![CDATA[GLSL]]></category>
		<category><![CDATA[HLSL]]></category>
		<category><![CDATA[Light Space]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Shader]]></category>
		<category><![CDATA[Shaders]]></category>
		<category><![CDATA[Shadows]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=407</guid>
		<description><![CDATA[Shadow mapping works in that it checks if a point is visible from the light or not. If a point is visible from the light then it&#8217;s obviously not in shadow, otherwise it is. The basic shadow mapping algorithm can be described as short as this:

Render the scene from the lights view and store the depths [...]]]></description>
			<content:encoded><![CDATA[<p>Shadow mapping works in that it checks if a point is visible from the light or not. If a point is visible from the light then it&#8217;s obviously not in shadow, otherwise it is. The basic shadow mapping algorithm can be described as short as this:</p>
<ol>
<li>Render the scene from the lights view and store the depths as shadow map</li>
<li>Render the scene from the camera and compare the depths, if the current fragments depth is greater than the shadow depth then the fragment is in shadow</li>
</ol>
<div class="mceTemp"><a href="http://www.gamerendering.com/wp-content/uploads/shadowmap.jpg"><img class="size-medium wp-image-408" title="Shadow mapping example" src="http://www.gamerendering.com/wp-content/uploads/shadowmap.jpg" alt="Shadow mapping example" width="274" height="163" /></a></div>
<p>It&#8217;s the implementation of it that is hard.</p>
<p>The two big problem areas with shadow mapping:</p>
<ul>
<li>Hard to select an appropriate bias (epsilon)</li>
<li>Hard to get rid of artifacts at shadow edges</li>
</ul>
<p>Projective texturing ( the method used to transform the fragment depth to the light space (where the shadow map is) for comparision)<br />
<a href="http://developer.nvidia.com/object/Projective_Texture_Mapping.html">http://developer.nvidia.com/object/Projective_Texture_Mapping.html</a><br />
<a href="http://en.wikipedia.org/wiki/Projective_texture_mapping">http://en.wikipedia.org/wiki/Projective_texture_mapping</a></p>
<p>OpenGL fixed-function pipeline implementation of shadow mapping:<br />
<a href="http://www.paulsprojects.net/tutorials/smt/smt.html">http://www.paulsprojects.net/tutorials/smt/smt.html</a></p>
<p>A GLSL implementation of shadow mapping (in one of the posts)<br />
<a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=316147">http://www.gamedev.net/community/forums/topic.asp?topic_id=316147</a></p>
<p>Another GLSL shadow mapping shader:<br />
<a href="http://sombermoon.com/shadowmappingdoc.html">http://sombermoon.com/shadowmappingdoc.html</a></p>
<p>DirectX9 shadow mapping example with source<br />
<a href="http://msdn.microsoft.com/en-us/library/bb147372(VS.85).aspx">http://msdn.microsoft.com/en-us/library/bb147372(VS.85).aspx</a></p>
<p>Nvidias implementation of shadow mapping with source for both OpenGL and DirectX.<br />
<a href="http://developer.nvidia.com/object/hwshadowmap_paper.html">http://developer.nvidia.com/object/hwshadowmap_paper.html</a></p>
<p>Shadow mapping in XNA<br />
<a href="http://www.riemers.net/eng/Tutorials/DirectX/Csharp/Series3/Shadow_mapping.php">http://www.riemers.net/eng/Tutorials/DirectX/Csharp/Series3/Shadow_mapping.php</a><br />
<a href="http://msdn.microsoft.com/en-us/library/bb975671.aspx">http://msdn.microsoft.com/en-us/library/bb975671.aspx</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%252F23%252Fbasic-shadow-mapping%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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Btitle%3DBasic%2520Shadow%2520Mapping%26amp%3Bbodytext%3DShadow%2520mapping%2520works%2520in%2520that%2520it%2520checks%2520if%2520a%2520point%2520is%2520visible%2520from%2520the%2520light%2520or%2520not.%2520If%2520a%2520point%25C2%25A0is%2520visible%2520from%2520the%2520light%2520then%2520it%2527s%2520obviously%2520not%2520in%2520shadow%252C%2520otherwise%2520it%2520is.%2520The%2520basic%2520shadow%2520mapping%2520algorithm%2520can%2520be%2520described%2520as%2520short%2520as%2520this%253A%250D%250A%250D%250A%2509Re';" 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%252F23%252Fbasic-shadow-mapping%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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Btitle%3DBasic%2520Shadow%2520Mapping%26amp%3Bnotes%3DShadow%2520mapping%2520works%2520in%2520that%2520it%2520checks%2520if%2520a%2520point%2520is%2520visible%2520from%2520the%2520light%2520or%2520not.%2520If%2520a%2520point%25C2%25A0is%2520visible%2520from%2520the%2520light%2520then%2520it%2527s%2520obviously%2520not%2520in%2520shadow%252C%2520otherwise%2520it%2520is.%2520The%2520basic%2520shadow%2520mapping%2520algorithm%2520can%2520be%2520described%2520as%2520short%2520as%2520this%253A%250D%250A%250D%250A%2509Re';" 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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Bt%3DBasic%2520Shadow%2520Mapping';" 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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Btitle%3DBasic%2520Shadow%2520Mapping';" 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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Btitle%3DBasic%2520Shadow%2520Mapping%26amp%3Bannotation%3DShadow%2520mapping%2520works%2520in%2520that%2520it%2520checks%2520if%2520a%2520point%2520is%2520visible%2520from%2520the%2520light%2520or%2520not.%2520If%2520a%2520point%25C2%25A0is%2520visible%2520from%2520the%2520light%2520then%2520it%2527s%2520obviously%2520not%2520in%2520shadow%252C%2520otherwise%2520it%2520is.%2520The%2520basic%2520shadow%2520mapping%2520algorithm%2520can%2520be%2520described%2520as%2520short%2520as%2520this%253A%250D%250A%250D%250A%2509Re';" 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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Btitle%3DBasic%2520Shadow%2520Mapping';" 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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Btitle%3DBasic%2520Shadow%2520Mapping%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DShadow%2520mapping%2520works%2520in%2520that%2520it%2520checks%2520if%2520a%2520point%2520is%2520visible%2520from%2520the%2520light%2520or%2520not.%2520If%2520a%2520point%25C2%25A0is%2520visible%2520from%2520the%2520light%2520then%2520it%2527s%2520obviously%2520not%2520in%2520shadow%252C%2520otherwise%2520it%2520is.%2520The%2520basic%2520shadow%2520mapping%2520algorithm%2520can%2520be%2520described%2520as%2520short%2520as%2520this%253A%250D%250A%250D%250A%2509Re';" 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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Btitle%3DBasic%2520Shadow%2520Mapping';" 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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Bt%3DBasic%2520Shadow%2520Mapping';" 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%2520Shadow%2520Mapping%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F23%252Fbasic-shadow-mapping%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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Btitle%3DBasic%2520Shadow%2520Mapping';" 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%2520Shadow%2520Mapping%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F23%252Fbasic-shadow-mapping%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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Btitle%3DBasic%2520Shadow%2520Mapping';" 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%252F23%252Fbasic-shadow-mapping%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%252F23%252Fbasic-shadow-mapping%252F%26amp%3Bt%3DBasic%2520Shadow%2520Mapping%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DShadow%2520mapping%2520works%2520in%2520that%2520it%2520checks%2520if%2520a%2520point%2520is%2520visible%2520from%2520the%2520light%2520or%2520not.%2520If%2520a%2520point%25C2%25A0is%2520visible%2520from%2520the%2520light%2520then%2520it%2527s%2520obviously%2520not%2520in%2520shadow%252C%2520otherwise%2520it%2520is.%2520The%2520basic%2520shadow%2520mapping%2520algorithm%2520can%2520be%2520described%2520as%2520short%2520as%2520this%253A%250D%250A%250D%250A%2509Re';" 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/23/basic-shadow-mapping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instancing</title>
		<link>http://www.gamerendering.com/2008/10/21/instancing/</link>
		<comments>http://www.gamerendering.com/2008/10/21/instancing/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 21:37:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Optimizations]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[HLSL]]></category>
		<category><![CDATA[Instancing]]></category>
		<category><![CDATA[OpenGL]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=399</guid>
		<description><![CDATA[Instancing is a new way to offload the CPU from some work when rendering many copies of the same geometry.  It does it by reducing the overhead of drawing multiple copies of the same vertex buffer.
In OpenGL it&#8217;s only fast to use instancing when the instanced mesh consists of very few triangles.
Nvidias instancing demo, here with 136499 meshes [...]]]></description>
			<content:encoded><![CDATA[<p>Instancing is a new way to offload the CPU from some work when rendering many copies of the same geometry.  It does it by reducing the overhead of drawing multiple copies of the same vertex buffer.</p>
<p>In OpenGL it&#8217;s only fast to use instancing when the instanced mesh consists of very few triangles.</p>
<p>Nvidias instancing demo, here with 136499 meshes rendered at once with 24 triangles per mesh. It runs at 20 fps stable on a GeForce 8800 GTS. (left image is all objects viewed from far away, right is zoomed in)</p>
<div class="mceTemp"><a href="http://www.gamerendering.com/wp-content/uploads/nvinst.jpg"><img class="size-medium wp-image-401" title="Instancing" src="http://www.gamerendering.com/wp-content/uploads/nvinst-400x184.jpg" alt="Instancing" width="400" height="184" /></a></div>
<p>A image from Microsofts DirectX10 instancing demo</p>
<div class="mceTemp"><a href="http://www.gamerendering.com/wp-content/uploads/mdinst.jpg"><img class="size-medium wp-image-400" title="Instancing" src="http://www.gamerendering.com/wp-content/uploads/mdinst-400x266.jpg" alt="Instancing" width="400" height="266" /></a></div>
<p>Some test made that shows when to use instancing and when not<br />
<a href="http://www.ozone3d.net/blogs/lab/?p=87">http://www.ozone3d.net/blogs/lab/?p=87</a></p>
<p>HLSL instancing (therefore DirectX)<br />
<a href="http://developer.download.nvidia.com/SDK/9.5/Samples/DEMOS/Direct3D9/src/HLSL_Instancing/docs/HLSL_Instancing.pdf">http://developer.download.nvidia.com/SDK/9.5/Samples/DEMOS/Direct3D9/<br />src/HLSL_Instancing/docs/HLSL_Instancing.pdf</a></p>
<p>Nvidias DirectX10 implementation of instancing<br />
<a href="http://developer.download.nvidia.com/SDK/10.5/direct3d/Source/InstancingTests/doc/InstancingTests.pdf">http://developer.download.nvidia.com/SDK/10.5/direct3d/Source/InstancingTests/<br />doc/InstancingTests.pdf</a></p>
<p>Microsofts DirectX9 instancing sample<br />
<a href="http://msdn.microsoft.com/en-us/library/bb174602(VS.85).aspx">http://msdn.microsoft.com/en-us/library/bb174602(VS.85).aspx</a></p>
<p>Microsofts DirectX10 instancing sample<br />
<a href="http://msdn.microsoft.com/en-us/library/bb205317(VS.85).aspx">http://msdn.microsoft.com/en-us/library/bb205317(VS.85).aspx</a></p>
<p>An OpenGL implementation of a pseduo-instancing (recommended for old hardware).<br />
<a href="http://http.download.nvidia.com/developer/SDK/Individual_Samples/DEMOS/OpenGL/src/glsl_pseudo_instancing/docs/glsl_pseudo_instancing.pdf">http://http.download.nvidia.com/developer/SDK/Individual_Samples/<br />DEMOS/OpenGL/src/glsl_pseudo_instancing/docs/glsl_pseudo_instancing.pdf</a></p>
<p>OpenGL instancing:<br />
<a href="http://www.opengl.org/registry/specs/EXT/draw_instanced.txt">http://www.opengl.org/registry/specs/EXT/draw_instanced.txt</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%252F21%252Finstancing%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%252F21%252Finstancing%252F%26amp%3Btitle%3DInstancing%26amp%3Bbodytext%3DInstancing%2520is%2520a%2520new%2520way%2520to%2520offload%2520the%25C2%25A0CPU%2520from%2520some%2520work%25C2%25A0when%2520rendering%25C2%25A0many%2520copies%2520of%2520the%2520same%2520geometry.%2520%25C2%25A0It%2520does%2520it%2520by%2520reducing%2520the%2520overhead%2520of%2520drawing%2520multiple%2520copies%2520of%2520the%2520same%2520vertex%2520buffer.%250D%250A%250D%250AIn%2520OpenGL%2520it%2527s%2520only%2520fast%2520to%2520use%2520instancing%2520wh';" 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%252F21%252Finstancing%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%252F21%252Finstancing%252F%26amp%3Btitle%3DInstancing%26amp%3Bnotes%3DInstancing%2520is%2520a%2520new%2520way%2520to%2520offload%2520the%25C2%25A0CPU%2520from%2520some%2520work%25C2%25A0when%2520rendering%25C2%25A0many%2520copies%2520of%2520the%2520same%2520geometry.%2520%25C2%25A0It%2520does%2520it%2520by%2520reducing%2520the%2520overhead%2520of%2520drawing%2520multiple%2520copies%2520of%2520the%2520same%2520vertex%2520buffer.%250D%250A%250D%250AIn%2520OpenGL%2520it%2527s%2520only%2520fast%2520to%2520use%2520instancing%2520wh';" 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%252F21%252Finstancing%252F%26amp%3Bt%3DInstancing';" 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%252F21%252Finstancing%252F%26amp%3Btitle%3DInstancing';" 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%252F21%252Finstancing%252F%26amp%3Btitle%3DInstancing%26amp%3Bannotation%3DInstancing%2520is%2520a%2520new%2520way%2520to%2520offload%2520the%25C2%25A0CPU%2520from%2520some%2520work%25C2%25A0when%2520rendering%25C2%25A0many%2520copies%2520of%2520the%2520same%2520geometry.%2520%25C2%25A0It%2520does%2520it%2520by%2520reducing%2520the%2520overhead%2520of%2520drawing%2520multiple%2520copies%2520of%2520the%2520same%2520vertex%2520buffer.%250D%250A%250D%250AIn%2520OpenGL%2520it%2527s%2520only%2520fast%2520to%2520use%2520instancing%2520wh';" 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%252F21%252Finstancing%252F%26amp%3Btitle%3DInstancing';" 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%252F21%252Finstancing%252F%26amp%3Btitle%3DInstancing%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DInstancing%2520is%2520a%2520new%2520way%2520to%2520offload%2520the%25C2%25A0CPU%2520from%2520some%2520work%25C2%25A0when%2520rendering%25C2%25A0many%2520copies%2520of%2520the%2520same%2520geometry.%2520%25C2%25A0It%2520does%2520it%2520by%2520reducing%2520the%2520overhead%2520of%2520drawing%2520multiple%2520copies%2520of%2520the%2520same%2520vertex%2520buffer.%250D%250A%250D%250AIn%2520OpenGL%2520it%2527s%2520only%2520fast%2520to%2520use%2520instancing%2520wh';" 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%252F21%252Finstancing%252F%26amp%3Btitle%3DInstancing';" 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%252F21%252Finstancing%252F%26amp%3Bt%3DInstancing';" 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%3DInstancing%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F21%252Finstancing%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%252F21%252Finstancing%252F%26amp%3Btitle%3DInstancing';" 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%3DInstancing%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F21%252Finstancing%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%252F21%252Finstancing%252F%26amp%3Btitle%3DInstancing';" 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%252F21%252Finstancing%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%252F21%252Finstancing%252F%26amp%3Bt%3DInstancing%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DInstancing%2520is%2520a%2520new%2520way%2520to%2520offload%2520the%25C2%25A0CPU%2520from%2520some%2520work%25C2%25A0when%2520rendering%25C2%25A0many%2520copies%2520of%2520the%2520same%2520geometry.%2520%25C2%25A0It%2520does%2520it%2520by%2520reducing%2520the%2520overhead%2520of%2520drawing%2520multiple%2520copies%2520of%2520the%2520same%2520vertex%2520buffer.%250D%250A%250D%250AIn%2520OpenGL%2520it%2527s%2520only%2520fast%2520to%2520use%2520instancing%2520wh';" 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/21/instancing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tangent Space</title>
		<link>http://www.gamerendering.com/2008/10/17/tangent-space/</link>
		<comments>http://www.gamerendering.com/2008/10/17/tangent-space/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 00:12:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Math]]></category>
		<category><![CDATA[Normal Mapping]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Tangent space]]></category>
		<category><![CDATA[Textures]]></category>
		<category><![CDATA[Vertex]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=374</guid>
		<description><![CDATA[Tangent space is (when speaking of rendering) the space built up by the vertex normal and the vertex texture coordinates often called  (u,v). This space is useful when dealing with textures with information in tangent space, for example a normal map.
The tangent space matrix can be separated in three vectors:
- The normal vector
- The tangent vector
- The bitangent vector
A detailed [...]]]></description>
			<content:encoded><![CDATA[<p>Tangent space is (when speaking of rendering) the space built up by the vertex normal and the vertex texture coordinates often called  (u,v). This space is useful when dealing with textures with information in tangent space, for example a normal map.</p>
<p>The tangent space matrix can be separated in three vectors:</p>
<p>- The normal vector</p>
<p>- The tangent vector</p>
<p>- The bitangent vector</p>
<p>A detailed description of how to create the tangent vector from the u,v coordinates. (including source code)<br />
<a href="http://www.terathon.com/code/tangent.html">http://www.terathon.com/code/tangent.html</a></p>
<p>More information about tangent Space (and an OpenGL implementation):<br />
<a href="http://jerome.jouvie.free.fr/OpenGl/Lessons/Lesson8.php">http://jerome.jouvie.free.fr/OpenGl/Lessons/Lesson8.php</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%252Ftangent-space%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%252Ftangent-space%252F%26amp%3Btitle%3DTangent%2520Space%26amp%3Bbodytext%3DTangent%2520space%25C2%25A0is%2520%2528when%2520speaking%2520of%2520rendering%2529%25C2%25A0the%2520space%2520built%2520up%2520by%2520the%25C2%25A0vertex%2520normal%2520and%2520the%2520vertex%2520texture%2520coordinates%2520often%2520called%2520%25C2%25A0%2528u%252Cv%2529.%2520This%2520space%2520is%2520useful%2520when%2520dealing%2520with%2520textures%2520with%2520information%2520in%2520tangent%2520space%252C%2520for%2520example%2520a%2520normal%2520';" 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%252Ftangent-space%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%252Ftangent-space%252F%26amp%3Btitle%3DTangent%2520Space%26amp%3Bnotes%3DTangent%2520space%25C2%25A0is%2520%2528when%2520speaking%2520of%2520rendering%2529%25C2%25A0the%2520space%2520built%2520up%2520by%2520the%25C2%25A0vertex%2520normal%2520and%2520the%2520vertex%2520texture%2520coordinates%2520often%2520called%2520%25C2%25A0%2528u%252Cv%2529.%2520This%2520space%2520is%2520useful%2520when%2520dealing%2520with%2520textures%2520with%2520information%2520in%2520tangent%2520space%252C%2520for%2520example%2520a%2520normal%2520';" 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%252Ftangent-space%252F%26amp%3Bt%3DTangent%2520Space';" 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%252Ftangent-space%252F%26amp%3Btitle%3DTangent%2520Space';" 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%252Ftangent-space%252F%26amp%3Btitle%3DTangent%2520Space%26amp%3Bannotation%3DTangent%2520space%25C2%25A0is%2520%2528when%2520speaking%2520of%2520rendering%2529%25C2%25A0the%2520space%2520built%2520up%2520by%2520the%25C2%25A0vertex%2520normal%2520and%2520the%2520vertex%2520texture%2520coordinates%2520often%2520called%2520%25C2%25A0%2528u%252Cv%2529.%2520This%2520space%2520is%2520useful%2520when%2520dealing%2520with%2520textures%2520with%2520information%2520in%2520tangent%2520space%252C%2520for%2520example%2520a%2520normal%2520';" 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%252Ftangent-space%252F%26amp%3Btitle%3DTangent%2520Space';" 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%252Ftangent-space%252F%26amp%3Btitle%3DTangent%2520Space%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DTangent%2520space%25C2%25A0is%2520%2528when%2520speaking%2520of%2520rendering%2529%25C2%25A0the%2520space%2520built%2520up%2520by%2520the%25C2%25A0vertex%2520normal%2520and%2520the%2520vertex%2520texture%2520coordinates%2520often%2520called%2520%25C2%25A0%2528u%252Cv%2529.%2520This%2520space%2520is%2520useful%2520when%2520dealing%2520with%2520textures%2520with%2520information%2520in%2520tangent%2520space%252C%2520for%2520example%2520a%2520normal%2520';" 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%252Ftangent-space%252F%26amp%3Btitle%3DTangent%2520Space';" 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%252Ftangent-space%252F%26amp%3Bt%3DTangent%2520Space';" 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%3DTangent%2520Space%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Ftangent-space%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%252Ftangent-space%252F%26amp%3Btitle%3DTangent%2520Space';" 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%3DTangent%2520Space%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F17%252Ftangent-space%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%252Ftangent-space%252F%26amp%3Btitle%3DTangent%2520Space';" 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%252Ftangent-space%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%252Ftangent-space%252F%26amp%3Bt%3DTangent%2520Space%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DTangent%2520space%25C2%25A0is%2520%2528when%2520speaking%2520of%2520rendering%2529%25C2%25A0the%2520space%2520built%2520up%2520by%2520the%25C2%25A0vertex%2520normal%2520and%2520the%2520vertex%2520texture%2520coordinates%2520often%2520called%2520%25C2%25A0%2528u%252Cv%2529.%2520This%2520space%2520is%2520useful%2520when%2520dealing%2520with%2520textures%2520with%2520information%2520in%2520tangent%2520space%252C%2520for%2520example%2520a%2520normal%2520';" 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/tangent-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
