<?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; Shadow Mapping</title>
	<atom:link href="http://www.gamerendering.com/category/shadows/shadow-mapping/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>Screen Space Blurred Shadow Mapping</title>
		<link>http://www.gamerendering.com/2008/11/25/screen-space-blurred-shadow-mapping/</link>
		<comments>http://www.gamerendering.com/2008/11/25/screen-space-blurred-shadow-mapping/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 12:44:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Shadow Mapping]]></category>
		<category><![CDATA[Blur]]></category>
		<category><![CDATA[Bluring Scene]]></category>
		<category><![CDATA[Screen Space]]></category>
		<category><![CDATA[Soft Shadows Light Bleeding]]></category>

		<guid isPermaLink="false">http://www.gamerendering.com/?p=534</guid>
		<description><![CDATA[This is probably the first technique one will think for creating soft shadows when doing shadow mapping.  The shadows are rendered to a texture (in screen space) and this texture is then blurred (in screen space) and later applied to the screen. This is a very easy technique for getting soft shadows. The main drawbacks are shadow bleeding [...]]]></description>
			<content:encoded><![CDATA[<p>This is probably the first technique one will think for creating soft shadows when doing shadow mapping.  The shadows are rendered to a texture (in screen space) and this texture is then blurred (in screen space) and later applied to the screen. This is a very easy technique for getting soft shadows. The main drawbacks are shadow bleeding and the cost of the extra passes.</p>
<div class="mceTemp"><a href="http://www.gamerendering.com/wp-content/uploads/screenblur.jpg"><img class="size-medium wp-image-535" title="Screen Space Blured Shadow Mapping" src="http://www.gamerendering.com/wp-content/uploads/screenblur.jpg" alt="Screen Space Blured Shadow Mapping" width="358" height="223" /></a></div>
<p>An article about it on gamedev.net:<br />
<a href="http://www.gamedev.net/reference/articles/article2193.asp">http://www.gamedev.net/reference/articles/article2193.asp</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%252F25%252Fscreen-space-blurred-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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Btitle%3DScreen%2520Space%2520Blurred%2520Shadow%2520Mapping%26amp%3Bbodytext%3DThis%2520is%2520probably%2520the%2520first%2520technique%2520one%2520will%2520think%2520for%2520creating%2520soft%2520shadows%2520when%2520doing%2520shadow%2520mapping.%25C2%25A0%2520The%2520shadows%2520are%2520rendered%2520to%2520a%2520texture%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520this%2520texture%2520is%2520then%2520blurred%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520later%2520applied%2520to%2520the%2520screen.%25C2%25A0';" 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%252F25%252Fscreen-space-blurred-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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Btitle%3DScreen%2520Space%2520Blurred%2520Shadow%2520Mapping%26amp%3Bnotes%3DThis%2520is%2520probably%2520the%2520first%2520technique%2520one%2520will%2520think%2520for%2520creating%2520soft%2520shadows%2520when%2520doing%2520shadow%2520mapping.%25C2%25A0%2520The%2520shadows%2520are%2520rendered%2520to%2520a%2520texture%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520this%2520texture%2520is%2520then%2520blurred%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520later%2520applied%2520to%2520the%2520screen.%25C2%25A0';" 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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Bt%3DScreen%2520Space%2520Blurred%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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Btitle%3DScreen%2520Space%2520Blurred%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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Btitle%3DScreen%2520Space%2520Blurred%2520Shadow%2520Mapping%26amp%3Bannotation%3DThis%2520is%2520probably%2520the%2520first%2520technique%2520one%2520will%2520think%2520for%2520creating%2520soft%2520shadows%2520when%2520doing%2520shadow%2520mapping.%25C2%25A0%2520The%2520shadows%2520are%2520rendered%2520to%2520a%2520texture%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520this%2520texture%2520is%2520then%2520blurred%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520later%2520applied%2520to%2520the%2520screen.%25C2%25A0';" 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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Btitle%3DScreen%2520Space%2520Blurred%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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Btitle%3DScreen%2520Space%2520Blurred%2520Shadow%2520Mapping%26amp%3Bsource%3DGame%2BRendering%2B%26amp%3Bsummary%3DThis%2520is%2520probably%2520the%2520first%2520technique%2520one%2520will%2520think%2520for%2520creating%2520soft%2520shadows%2520when%2520doing%2520shadow%2520mapping.%25C2%25A0%2520The%2520shadows%2520are%2520rendered%2520to%2520a%2520texture%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520this%2520texture%2520is%2520then%2520blurred%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520later%2520applied%2520to%2520the%2520screen.%25C2%25A0';" 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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Btitle%3DScreen%2520Space%2520Blurred%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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Bt%3DScreen%2520Space%2520Blurred%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%3DScreen%2520Space%2520Blurred%2520Shadow%2520Mapping%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F25%252Fscreen-space-blurred-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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Btitle%3DScreen%2520Space%2520Blurred%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%3DScreen%2520Space%2520Blurred%2520Shadow%2520Mapping%2520-%2520http%253A%252F%252Fwww.gamerendering.com%252F2008%252F11%252F25%252Fscreen-space-blurred-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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Btitle%3DScreen%2520Space%2520Blurred%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%252F25%252Fscreen-space-blurred-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%252F25%252Fscreen-space-blurred-shadow-mapping%252F%26amp%3Bt%3DScreen%2520Space%2520Blurred%2520Shadow%2520Mapping%26opener%3Dbm%26amp%3Bei%3DUTF-8%26amp%3Bd%3DThis%2520is%2520probably%2520the%2520first%2520technique%2520one%2520will%2520think%2520for%2520creating%2520soft%2520shadows%2520when%2520doing%2520shadow%2520mapping.%25C2%25A0%2520The%2520shadows%2520are%2520rendered%2520to%2520a%2520texture%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520this%2520texture%2520is%2520then%2520blurred%2520%2528in%2520screen%2520space%2529%25C2%25A0and%2520later%2520applied%2520to%2520the%2520screen.%25C2%25A0';" 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/25/screen-space-blurred-shadow-mapping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>
	</channel>
</rss>
