<?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; Shadows</title>
	<atom:link href="http://www.gamerendering.com/tag/shadows/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>Percentage Closer Filtering for Shadow Mapping</title>
		<link>http://www.gamerendering.com/2008/11/15/percentage-closer-filtering-for-shadow-mapping/</link>
		<comments>http://www.gamerendering.com/2008/11/15/percentage-closer-filtering-for-shadow-mapping/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 15:08:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Shadow Mapping]]></category>
		<category><![CDATA[Bilinear Interpolation]]></category>
		<category><![CDATA[Fetch4]]></category>
		<category><![CDATA[Filtering]]></category>
		<category><![CDATA[GLSL]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[PCF]]></category>
		<category><![CDATA[Percentage Closer Filtering]]></category>
		<category><![CDATA[Shadows]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=505</guid>
		<description><![CDATA[This is a technique for making softer shadows when doing shadow mapping. It works by filtering the result of the depth comparison. So when comparing a depth, some depths around should also be compared and the result should be averaged. This will give a softer look on the shadow edges.

It can be implemented as simple as this in [...]]]></description>
			<content:encoded><![CDATA[<p>This is a technique for making softer shadows when doing shadow mapping. It works by filtering the result of the depth comparison. So when comparing a depth, some depths around should also be compared and the result should be averaged. This will give a softer look on the shadow edges.</p>
<div class="mceTemp"><a href="http://www.gamerendering.com/wp-content/uploads/pcf.jpg"><img class="size-medium wp-image-509" title="An example of the the soft shadows when using PCF Shadow Mapping" src="http://www.gamerendering.com/wp-content/uploads/pcf.jpg" alt="An example of the the soft shadows when using PCF Shadow Mapping" width="370" height="252" /></a></div>
<p>It can be implemented as simple as this in a the pixel shader:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p5052"><td class="code" id="p505code2"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">float</span> result<span style="color: #339933;">;</span>
result <span style="color: #339933;">=</span> shadow2DProj<span style="color: #009900;">&#40;</span>shadowMap<span style="color: #339933;">,</span>texCoord<span style="color: #339933;">+</span>offset<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
result <span style="color: #339933;">+=</span> shadow2DProj<span style="color: #009900;">&#40;</span>shadowMap<span style="color: #339933;">,</span>texCoord<span style="color: #339933;">+</span>offset<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
result <span style="color: #339933;">+=</span> shadow2DProj<span style="color: #009900;">&#40;</span>shadowMap<span style="color: #339933;">,</span>texCoord<span style="color: #339933;">+</span>offset<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
result <span style="color: #339933;">+=</span> shadow2DProj<span style="color: #009900;">&#40;</span>shadowMap<span style="color: #339933;">,</span>texCoord<span style="color: #339933;">+</span>offset<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
result <span style="color: #339933;">/=</span> <span style="color:#800080;">4.0</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// now result will hold the average shading</span></pre></td></tr></table></div>

<p>The samples are often either taken in a grid-based square around the original sample location or randomly scattered around it.</p>
<p><strong>Optimization:</strong></p>
<p>NVIDIA has built in hardware support for doing bilinear interpolation between four samples.</p>
<p>ATI has fetch4 which will fetch four texture samples at the same time.  </p>
<p>The original paper for PCF:<br />
<a href="http://graphics.pixar.com/library/ShadowMaps/paper.pdf">http://graphics.pixar.com/library/ShadowMaps/paper.pdf</a></p>
<p>A technique that is similar (percentage-closer soft shadows)<br />
<a href="http://developer.download.nvidia.com/shaderlibrary/docs/shadow_PCSS.pdf">http://developer.download.nvidia.com/shaderlibrary/docs/shadow_PCSS.pdf</a></p>
<p>A paper including lot&#8217;s of shadow mapping information, including different ways to do PCF (the image in this article is borrowed from this presentation):<br />
<a href="http://developer.amd.com/media/gpu_assets/Isidoro-ShadowMapping.pdf">http://developer.amd.com/media/gpu_assets/Isidoro-ShadowMapping.pdf</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%252F15%252Fpercentage-closer-filtering-for-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%252F11%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Btitle%3DPercentage%2520Closer%2520Filtering%2520for%2520Shadow%2520Mapping%26amp%3Bbodytext%3DThis%2520is%2520a%2520technique%2520for%2520making%2520softer%2520shadows%2520when%2520doing%2520shadow%2520mapping.%2520It%2520works%2520by%2520filtering%2520the%2520result%2520of%2520the%2520depth%2520comparison.%2520So%2520when%2520comparing%2520a%2520depth%252C%2520some%2520depths%2520around%2520should%2520also%2520be%2520compared%2520and%2520the%2520result%2520should%2520be%2520averaged.%2520This%2520will%2520give';" 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%252F15%252Fpercentage-closer-filtering-for-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%252F11%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Btitle%3DPercentage%2520Closer%2520Filtering%2520for%2520Shadow%2520Mapping%26amp%3Bnotes%3DThis%2520is%2520a%2520technique%2520for%2520making%2520softer%2520shadows%2520when%2520doing%2520shadow%2520mapping.%2520It%2520works%2520by%2520filtering%2520the%2520result%2520of%2520the%2520depth%2520comparison.%2520So%2520when%2520comparing%2520a%2520depth%252C%2520some%2520depths%2520around%2520should%2520also%2520be%2520compared%2520and%2520the%2520result%2520should%2520be%2520averaged.%2520This%2520will%2520give';" 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%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Bt%3DPercentage%2520Closer%2520Filtering%2520for%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%252F11%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Btitle%3DPercentage%2520Closer%2520Filtering%2520for%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%252F11%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Btitle%3DPercentage%2520Closer%2520Filtering%2520for%2520Shadow%2520Mapping%26amp%3Bannotation%3DThis%2520is%2520a%2520technique%2520for%2520making%2520softer%2520shadows%2520when%2520doing%2520shadow%2520mapping.%2520It%2520works%2520by%2520filtering%2520the%2520result%2520of%2520the%2520depth%2520comparison.%2520So%2520when%2520comparing%2520a%2520depth%252C%2520some%2520depths%2520around%2520should%2520also%2520be%2520compared%2520and%2520the%2520result%2520should%2520be%2520averaged.%2520This%2520will%2520give';" 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%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Btitle%3DPercentage%2520Closer%2520Filtering%2520for%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%252F11%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Btitle%3DPercentage%2520Closer%2520Filtering%2520for%2520Shadow%2520Mapping%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DThis%2520is%2520a%2520technique%2520for%2520making%2520softer%2520shadows%2520when%2520doing%2520shadow%2520mapping.%2520It%2520works%2520by%2520filtering%2520the%2520result%2520of%2520the%2520depth%2520comparison.%2520So%2520when%2520comparing%2520a%2520depth%252C%2520some%2520depths%2520around%2520should%2520also%2520be%2520compared%2520and%2520the%2520result%2520should%2520be%2520averaged.%2520This%2520will%2520give';" 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%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Btitle%3DPercentage%2520Closer%2520Filtering%2520for%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%252F11%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Bt%3DPercentage%2520Closer%2520Filtering%2520for%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%3DPercentage%2520Closer%2520Filtering%2520for%2520Shadow%2520Mapping%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F15%252Fpercentage-closer-filtering-for-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%252F11%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Btitle%3DPercentage%2520Closer%2520Filtering%2520for%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%3DPercentage%2520Closer%2520Filtering%2520for%2520Shadow%2520Mapping%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F15%252Fpercentage-closer-filtering-for-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%252F11%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Btitle%3DPercentage%2520Closer%2520Filtering%2520for%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%252F11%252F15%252Fpercentage-closer-filtering-for-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%252F11%252F15%252Fpercentage-closer-filtering-for-shadow-mapping%252F%26amp%3Bt%3DPercentage%2520Closer%2520Filtering%2520for%2520Shadow%2520Mapping%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DThis%2520is%2520a%2520technique%2520for%2520making%2520softer%2520shadows%2520when%2520doing%2520shadow%2520mapping.%2520It%2520works%2520by%2520filtering%2520the%2520result%2520of%2520the%2520depth%2520comparison.%2520So%2520when%2520comparing%2520a%2520depth%252C%2520some%2520depths%2520around%2520should%2520also%2520be%2520compared%2520and%2520the%2520result%2520should%2520be%2520averaged.%2520This%2520will%2520give';" 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/15/percentage-closer-filtering-for-shadow-mapping/feed/</wfw:commentRss>
		<slash:comments>1</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>Forward Shadow Mapping</title>
		<link>http://www.gamerendering.com/2008/10/16/forward-shadow-mapping/</link>
		<comments>http://www.gamerendering.com/2008/10/16/forward-shadow-mapping/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 00:26:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Shadow Mapping]]></category>
		<category><![CDATA[Deferred Lightning]]></category>
		<category><![CDATA[Depth buffer]]></category>
		<category><![CDATA[Forward Shadow Mapping]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Shadows]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=354</guid>
		<description><![CDATA[This technique for shadow mapping does the reverse when comparing depths. Instead of the normal case of comparing depths in light space, this method suggest that the comparison should be done in eye space. This requires the depth buffer from the lights&#8217; view and from the camera&#8217;s view at the time of the comparison. This [...]]]></description>
			<content:encoded><![CDATA[<p>This technique for shadow mapping does the reverse when comparing depths. Instead of the normal case of comparing depths in light space, this method suggest that the comparison should be done in eye space. This requires the depth buffer from the lights&#8217; view and from the camera&#8217;s view at the time of the comparison. This method is probably most useful when doing deferred lightning.</p>
<div class="mceTemp"><a href="http://www.gamerendering.com/wp-content/uploads/forwardshadowmapping.jpg"><img class="size-medium wp-image-355" title="Forward Shadow Mapping" src="http://www.gamerendering.com/wp-content/uploads/forwardshadowmapping.jpg" alt="Forward Shadow Mapping" width="229" height="231" /></a></div>
<p>Link to the paper &#8220;Forward Shadow Mapping&#8221;<br />
<a href="http://www.cs.unc.edu/~zhangh/shadow.html">http://www.cs.unc.edu/~zhangh/shadow.html</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%252F16%252Fforward-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%252F16%252Fforward-shadow-mapping%252F%26amp%3Btitle%3DForward%2520Shadow%2520Mapping%26amp%3Bbodytext%3DThis%2520technique%2520for%2520shadow%2520mapping%2520does%2520the%2520reverse%2520when%2520comparing%2520depths.%2520Instead%2520of%2520the%2520normal%2520case%2520of%2520comparing%2520depths%2520in%2520light%2520space%252C%2520this%2520method%2520suggest%2520that%2520the%2520comparison%2520should%2520be%2520done%2520in%2520eye%2520space.%2520This%2520requires%2520the%2520depth%2520buffer%2520from%2520the%2520ligh';" 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%252F16%252Fforward-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%252F16%252Fforward-shadow-mapping%252F%26amp%3Btitle%3DForward%2520Shadow%2520Mapping%26amp%3Bnotes%3DThis%2520technique%2520for%2520shadow%2520mapping%2520does%2520the%2520reverse%2520when%2520comparing%2520depths.%2520Instead%2520of%2520the%2520normal%2520case%2520of%2520comparing%2520depths%2520in%2520light%2520space%252C%2520this%2520method%2520suggest%2520that%2520the%2520comparison%2520should%2520be%2520done%2520in%2520eye%2520space.%2520This%2520requires%2520the%2520depth%2520buffer%2520from%2520the%2520ligh';" 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%252F16%252Fforward-shadow-mapping%252F%26amp%3Bt%3DForward%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%252F16%252Fforward-shadow-mapping%252F%26amp%3Btitle%3DForward%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%252F16%252Fforward-shadow-mapping%252F%26amp%3Btitle%3DForward%2520Shadow%2520Mapping%26amp%3Bannotation%3DThis%2520technique%2520for%2520shadow%2520mapping%2520does%2520the%2520reverse%2520when%2520comparing%2520depths.%2520Instead%2520of%2520the%2520normal%2520case%2520of%2520comparing%2520depths%2520in%2520light%2520space%252C%2520this%2520method%2520suggest%2520that%2520the%2520comparison%2520should%2520be%2520done%2520in%2520eye%2520space.%2520This%2520requires%2520the%2520depth%2520buffer%2520from%2520the%2520ligh';" 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%252F16%252Fforward-shadow-mapping%252F%26amp%3Btitle%3DForward%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%252F16%252Fforward-shadow-mapping%252F%26amp%3Btitle%3DForward%2520Shadow%2520Mapping%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DThis%2520technique%2520for%2520shadow%2520mapping%2520does%2520the%2520reverse%2520when%2520comparing%2520depths.%2520Instead%2520of%2520the%2520normal%2520case%2520of%2520comparing%2520depths%2520in%2520light%2520space%252C%2520this%2520method%2520suggest%2520that%2520the%2520comparison%2520should%2520be%2520done%2520in%2520eye%2520space.%2520This%2520requires%2520the%2520depth%2520buffer%2520from%2520the%2520ligh';" 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%252F16%252Fforward-shadow-mapping%252F%26amp%3Btitle%3DForward%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%252F16%252Fforward-shadow-mapping%252F%26amp%3Bt%3DForward%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%3DForward%2520Shadow%2520Mapping%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F16%252Fforward-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%252F16%252Fforward-shadow-mapping%252F%26amp%3Btitle%3DForward%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%3DForward%2520Shadow%2520Mapping%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F16%252Fforward-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%252F16%252Fforward-shadow-mapping%252F%26amp%3Btitle%3DForward%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%252F16%252Fforward-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%252F16%252Fforward-shadow-mapping%252F%26amp%3Bt%3DForward%2520Shadow%2520Mapping%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DThis%2520technique%2520for%2520shadow%2520mapping%2520does%2520the%2520reverse%2520when%2520comparing%2520depths.%2520Instead%2520of%2520the%2520normal%2520case%2520of%2520comparing%2520depths%2520in%2520light%2520space%252C%2520this%2520method%2520suggest%2520that%2520the%2520comparison%2520should%2520be%2520done%2520in%2520eye%2520space.%2520This%2520requires%2520the%2520depth%2520buffer%2520from%2520the%2520ligh';" 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/16/forward-shadow-mapping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Variance Shadow Mapping</title>
		<link>http://www.gamerendering.com/2008/10/16/variance-shadow-mapping/</link>
		<comments>http://www.gamerendering.com/2008/10/16/variance-shadow-mapping/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 00:03:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Shadow Mapping]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Shadows]]></category>
		<category><![CDATA[Variance Shadow Mapping]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=349</guid>
		<description><![CDATA[An different approach to store the shadow map to gain softer shadows with less artifacts. The abstracts says the following:
&#8220;Shadow maps are a widely used shadowing technique in real time graphics. One major drawback of their use is that they cannot be filtered in the same way as color textures, typically leading to severe aliasing. [...]]]></description>
			<content:encoded><![CDATA[<p>An different approach to store the shadow map to gain softer shadows with less artifacts. The abstracts says the following:</p>
<blockquote><p><em>&#8220;Shadow maps are a widely used shadowing technique in real time graphics. One major drawback of their use is that they cannot be filtered in the same way as color textures, typically leading to severe aliasing. This paper introduces variance shadow maps, a new real time shadowing algorithm. Instead of storing a single depth value, we store the mean and mean squared of a distribution of depths, from which we can efficiently compute the variance over any filter region. Using the variance, we derive an upper bound on the fraction of a shaded fragment that is occluded. We show that this bound often provides a good approximation to the true occlusion, and can be used as an approximate value for rendering. Our algorithm is simple to implement on current graphics processors and solves the problem of shadow map aliasing with minimal additional storage and computation.&#8221;</em></p></blockquote>
<div class="mceTemp"><a href="http://www.gamerendering.com/wp-content/uploads/varianceshadowmapping.jpg"><img class="size-medium wp-image-350" title="Variance Shadow Mapping" src="http://www.gamerendering.com/wp-content/uploads/varianceshadowmapping.jpg" alt="Variance Shadow Mapping" width="296" height="181" /></a></div>
<p>The original paper and demo with source code:<br />
<a href="http://www.punkuser.net/vsm/">http://www.punkuser.net/vsm/</a></p>
<p>Nvidias implementation and description of the algorithm (source code for DirectX10 can also be found on the same page):<br />
<a href="http://developer.download.nvidia.com/SDK/10.5/direct3d/Source/VarianceShadowMapping/Doc/VarianceShadowMapping.pdf">http://developer.download.nvidia.com/SDK/10.5/direct3d/Source/<br />
VarianceShadowMapping/Doc/VarianceShadowMapping.pdf</a></p>
<p>Some more info from the author:<br />
<a href="http://forum.beyond3d.com/showthread.php?t=40805">http://forum.beyond3d.com/showthread.php?t=40805</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%252F16%252Fvariance-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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Btitle%3DVariance%2520Shadow%2520Mapping%26amp%3Bbodytext%3DAn%2520different%2520approach%2520to%2520store%2520the%2520shadow%2520map%2520to%2520gain%2520softer%2520shadows%2520with%2520less%2520artifacts.%2520The%2520abstracts%2520says%2520the%2520following%253A%250D%250A%2522Shadow%2520maps%2520are%2520a%2520widely%2520used%2520shadowing%2520technique%2520in%2520real%2520time%2520graphics.%2520One%2520major%2520drawback%2520of%2520their%2520use%2520is%2520that%2520they%2520cannot';" 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%252F16%252Fvariance-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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Btitle%3DVariance%2520Shadow%2520Mapping%26amp%3Bnotes%3DAn%2520different%2520approach%2520to%2520store%2520the%2520shadow%2520map%2520to%2520gain%2520softer%2520shadows%2520with%2520less%2520artifacts.%2520The%2520abstracts%2520says%2520the%2520following%253A%250D%250A%2522Shadow%2520maps%2520are%2520a%2520widely%2520used%2520shadowing%2520technique%2520in%2520real%2520time%2520graphics.%2520One%2520major%2520drawback%2520of%2520their%2520use%2520is%2520that%2520they%2520cannot';" 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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Bt%3DVariance%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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Btitle%3DVariance%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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Btitle%3DVariance%2520Shadow%2520Mapping%26amp%3Bannotation%3DAn%2520different%2520approach%2520to%2520store%2520the%2520shadow%2520map%2520to%2520gain%2520softer%2520shadows%2520with%2520less%2520artifacts.%2520The%2520abstracts%2520says%2520the%2520following%253A%250D%250A%2522Shadow%2520maps%2520are%2520a%2520widely%2520used%2520shadowing%2520technique%2520in%2520real%2520time%2520graphics.%2520One%2520major%2520drawback%2520of%2520their%2520use%2520is%2520that%2520they%2520cannot';" 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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Btitle%3DVariance%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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Btitle%3DVariance%2520Shadow%2520Mapping%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DAn%2520different%2520approach%2520to%2520store%2520the%2520shadow%2520map%2520to%2520gain%2520softer%2520shadows%2520with%2520less%2520artifacts.%2520The%2520abstracts%2520says%2520the%2520following%253A%250D%250A%2522Shadow%2520maps%2520are%2520a%2520widely%2520used%2520shadowing%2520technique%2520in%2520real%2520time%2520graphics.%2520One%2520major%2520drawback%2520of%2520their%2520use%2520is%2520that%2520they%2520cannot';" 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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Btitle%3DVariance%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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Bt%3DVariance%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%3DVariance%2520Shadow%2520Mapping%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F16%252Fvariance-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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Btitle%3DVariance%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%3DVariance%2520Shadow%2520Mapping%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F10%252F16%252Fvariance-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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Btitle%3DVariance%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%252F16%252Fvariance-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%252F16%252Fvariance-shadow-mapping%252F%26amp%3Bt%3DVariance%2520Shadow%2520Mapping%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DAn%2520different%2520approach%2520to%2520store%2520the%2520shadow%2520map%2520to%2520gain%2520softer%2520shadows%2520with%2520less%2520artifacts.%2520The%2520abstracts%2520says%2520the%2520following%253A%250D%250A%2522Shadow%2520maps%2520are%2520a%2520widely%2520used%2520shadowing%2520technique%2520in%2520real%2520time%2520graphics.%2520One%2520major%2520drawback%2520of%2520their%2520use%2520is%2520that%2520they%2520cannot';" 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/16/variance-shadow-mapping/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
