<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Stenciling for &#8220;deferred&#8221; lighting</title>
	<atom:link href="http://adruab.net/?feed=rss2&#038;p=80" rel="self" type="application/rss+xml" />
	<link>http://adruab.net/?p=80</link>
	<description>Deep internal/external searching... for... stuff</description>
	<lastBuildDate>Mon, 13 Jul 2009 00:22:07 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: adruab</title>
		<link>http://adruab.net/?p=80&#038;cpage=1#comment-65047</link>
		<dc:creator>adruab</dc:creator>
		<pubDate>Mon, 13 Jul 2009 00:22:07 +0000</pubDate>
		<guid isPermaLink="false">http://adruab.net/?p=80#comment-65047</guid>
		<description>And actually come to think of it you might still be able to do single mad by computing the following in the vertex shader: ProjectToFarPlane(posWorld - posCamera).  There may be issues with correct interpolation for geometry clipping through near/far, but you might be able to get around that with trickery.</description>
		<content:encoded><![CDATA[<p>And actually come to think of it you might still be able to do single mad by computing the following in the vertex shader: ProjectToFarPlane(posWorld &#8211; posCamera).  There may be issues with correct interpolation for geometry clipping through near/far, but you might be able to get around that with trickery.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: adruab</title>
		<link>http://adruab.net/?p=80&#038;cpage=1#comment-64992</link>
		<dc:creator>adruab</dc:creator>
		<pubDate>Fri, 10 Jul 2009 03:22:57 +0000</pubDate>
		<guid isPermaLink="false">http://adruab.net/?p=80#comment-64992</guid>
		<description>We read directly from the depth buffer and thus don&#039;t have linear z :).  3 components of the reverse projection matrix can be factored into the vertex shader, so you do perspective space Z * matClipToWorld[2] + vecXYW (float4 interpolated from vertex shader).  Then you have a divide (recip + mul).  So yes, it&#039;s 3 instructions and 1 interpolant instead of 1-2, but you don&#039;t have to store linear Z (full screen worth of RAM).  Reconstructing perspective Z rather than sampling from a globally stored linear Z buffer, takes 3 instructions itself (on the RSX at least).  I think a better argument for screen space tiles than saving a few arithmetic instructions is merging multiple lights to reduce (and potentially maximize cache reuse) for sampling giant textures.  We&#039;ll probably try tiles again.  However, stencil culling still feels like potentially anti-useful trade off.</description>
		<content:encoded><![CDATA[<p>We read directly from the depth buffer and thus don&#8217;t have linear z <img src='http://adruab.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .  3 components of the reverse projection matrix can be factored into the vertex shader, so you do perspective space Z * matClipToWorld[2] + vecXYW (float4 interpolated from vertex shader).  Then you have a divide (recip + mul).  So yes, it&#8217;s 3 instructions and 1 interpolant instead of 1-2, but you don&#8217;t have to store linear Z (full screen worth of RAM).  Reconstructing perspective Z rather than sampling from a globally stored linear Z buffer, takes 3 instructions itself (on the RSX at least).  I think a better argument for screen space tiles than saving a few arithmetic instructions is merging multiple lights to reduce (and potentially maximize cache reuse) for sampling giant textures.  We&#8217;ll probably try tiles again.  However, stencil culling still feels like potentially anti-useful trade off.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JSeb</title>
		<link>http://adruab.net/?p=80&#038;cpage=1#comment-64535</link>
		<dc:creator>JSeb</dc:creator>
		<pubDate>Tue, 30 Jun 2009 14:55:53 +0000</pubDate>
		<guid isPermaLink="false">http://adruab.net/?p=80#comment-64535</guid>
		<description>Hi,

I think you forgot one &quot;con&quot; for the alternate approach:
some arithmetics of position reconstruction can be move to vertex part, but only when you render a full quad.
(in pixel pipe, you can reconstruct position from linear_z with only a mad and 2 interpolants)

When you render a bounding geometry, the position reconstruction can no longer be prepared in vertex space.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I think you forgot one &#8220;con&#8221; for the alternate approach:<br />
some arithmetics of position reconstruction can be move to vertex part, but only when you render a full quad.<br />
(in pixel pipe, you can reconstruct position from linear_z with only a mad and 2 interpolants)</p>
<p>When you render a bounding geometry, the position reconstruction can no longer be prepared in vertex space.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: realtimecollisiondetection.net - the blog &#187; Catching up (part 2)</title>
		<link>http://adruab.net/?p=80&#038;cpage=1#comment-64039</link>
		<dc:creator>realtimecollisiondetection.net - the blog &#187; Catching up (part 2)</dc:creator>
		<pubDate>Mon, 08 Jun 2009 08:52:23 +0000</pubDate>
		<guid isPermaLink="false">http://adruab.net/?p=80#comment-64039</guid>
		<description>[...] (re-)reading. And on the topic of deferred lighting, Adrian Bentley talks about the (non-)use of stenciling to accelerate same. Lastly, Adrian Stone makes an argument for deferred shading and against [...]</description>
		<content:encoded><![CDATA[<p>[...] (re-)reading. And on the topic of deferred lighting, Adrian Bentley talks about the (non-)use of stenciling to accelerate same. Lastly, Adrian Stone makes an argument for deferred shading and against [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
