<?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 for Simon&#039;s Graphics Blog</title>
	<atom:link href="http://www.sjbrown.co.uk/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sjbrown.co.uk</link>
	<description>Work log for ideas and hobby projects.</description>
	<lastBuildDate>Thu, 01 Dec 2011 14:25:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>Comment on DXT Compression Techniques by New DXT Compressor (Algorithm Explained) &#124; L. Spiro Engine</title>
		<link>http://www.sjbrown.co.uk/2006/01/19/dxt-compression-techniques/comment-page-1/#comment-22804</link>
		<dc:creator>New DXT Compressor (Algorithm Explained) &#124; L. Spiro Engine</dc:creator>
		<pubDate>Thu, 01 Dec 2011 14:25:50 +0000</pubDate>
		<guid isPermaLink="false">http://sjbrown.co.uk/blog/?p=18#comment-22804</guid>
		<description>[...] on selecting the 2 key colors for the block.  2 suggestions as to how to do this are presented here.  The clustering method is suggested to be what NVidia uses in their DXTn converter.  I will now [...]</description>
		<content:encoded><![CDATA[<p>[...] on selecting the 2 key colors for the block.  2 suggestions as to how to do this are presented here.  The clustering method is suggested to be what NVidia uses in their DXTn converter.  I will now [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Spherical Harmonic Basis Functions by Simon Brown</title>
		<link>http://www.sjbrown.co.uk/2004/10/16/spherical-harmonic-basis/comment-page-1/#comment-22623</link>
		<dc:creator>Simon Brown</dc:creator>
		<pubDate>Tue, 15 Nov 2011 17:07:35 +0000</pubDate>
		<guid isPermaLink="false">http://sjbrown.co.uk/blog/?p=30#comment-22623</guid>
		<description>I think at some point you probably want to use the recursive formulation directly, I&#039;d expect the expression for that harmonic to be extremely long if written out in full. :)</description>
		<content:encoded><![CDATA[<p>I think at some point you probably want to use the recursive formulation directly, I&#8217;d expect the expression for that harmonic to be extremely long if written out in full. <img src='http://www.sjbrown.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Spherical Harmonic Basis Functions by prabhakar</title>
		<link>http://www.sjbrown.co.uk/2004/10/16/spherical-harmonic-basis/comment-page-1/#comment-22615</link>
		<dc:creator>prabhakar</dc:creator>
		<pubDate>Mon, 14 Nov 2011 11:17:57 +0000</pubDate>
		<guid isPermaLink="false">http://sjbrown.co.uk/blog/?p=30#comment-22615</guid>
		<description>hi,
Thank you.
could you help me to arrive at an expression for the basis function for l=50 m=50</description>
		<content:encoded><![CDATA[<p>hi,<br />
Thank you.<br />
could you help me to arrive at an expression for the basis function for l=50 m=50</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Pooled Allocators For The STL by Amro</title>
		<link>http://www.sjbrown.co.uk/2004/05/01/pooled-allocators-for-the-stl/comment-page-1/#comment-22611</link>
		<dc:creator>Amro</dc:creator>
		<pubDate>Sun, 13 Nov 2011 20:55:14 +0000</pubDate>
		<guid isPermaLink="false">http://sjbrown.co.uk/blog/?p=85#comment-22611</guid>
		<description>@Tombox: You should not try to calculate this number yourself as it depends on the implementation of the container. Note that the container will not use your PooledAllocator directly for allocation, but instead will use something like
PooledAllocator&lt; list_node&lt; MyObject, PooledAllocator &gt;::Node &gt;
This is the purpose of the rebind member structure. In other words, the template type T is not MyObject, but an internal node object containing an instance of MyObject as well as list navigation data.

This means that in order to reliably determine the granularity (object size) to use with the pool object, you&#039;ll have to do that from within the PooledAllocator class, since you don&#039;t have access to the actual size that needs to be allocated from anywhere else.

So instead of passing a pointer to a Pool object to the PooledAllocator constructor as done in the sample code, you can have PooledAllocator construct its m_pool itself, or, better yet, select a pool object from a list of Pools depending on sizeof(T).</description>
		<content:encoded><![CDATA[<p>@Tombox: You should not try to calculate this number yourself as it depends on the implementation of the container. Note that the container will not use your PooledAllocator directly for allocation, but instead will use something like<br />
PooledAllocator&lt; list_node&lt; MyObject, PooledAllocator &gt;::Node &gt;<br />
This is the purpose of the rebind member structure. In other words, the template type T is not MyObject, but an internal node object containing an instance of MyObject as well as list navigation data.</p>
<p>This means that in order to reliably determine the granularity (object size) to use with the pool object, you&#8217;ll have to do that from within the PooledAllocator class, since you don&#8217;t have access to the actual size that needs to be allocated from anywhere else.</p>
<p>So instead of passing a pointer to a Pool object to the PooledAllocator constructor as done in the sample code, you can have PooledAllocator construct its m_pool itself, or, better yet, select a pool object from a list of Pools depending on sizeof(T).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Really Old Demos &#8211; The Buggy Demo by Matt</title>
		<link>http://www.sjbrown.co.uk/2002/08/01/the-buggy-demo/comment-page-1/#comment-22109</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Thu, 22 Sep 2011 22:26:23 +0000</pubDate>
		<guid isPermaLink="false">http://sjbrown.co.uk/?p=222#comment-22109</guid>
		<description>Thank you so much for keeping this around. This thing got  me to where i am today.

After jacking your demo i made this one:
http://video.google.com/videoplay?docid=-3126044987885063648

http://video.google.com/videoplay?docid=-3745766277330572030

Many custom physics demos, and now my first xbox game:
http://www.youtube.com/watch?v=qsNPUuBVGZY

You have been an important influence in my career.
I&#039;m glad i finally got a chance to thank you.

P.s. i totally jacked your camera for the Burt demo :)</description>
		<content:encoded><![CDATA[<p>Thank you so much for keeping this around. This thing got  me to where i am today.</p>
<p>After jacking your demo i made this one:<br />
<a href="http://video.google.com/videoplay?docid=-3126044987885063648" rel="nofollow">http://video.google.com/videoplay?docid=-3126044987885063648</a></p>
<p><a href="http://video.google.com/videoplay?docid=-3745766277330572030" rel="nofollow">http://video.google.com/videoplay?docid=-3745766277330572030</a></p>
<p>Many custom physics demos, and now my first xbox game:<br />
<a href="http://www.youtube.com/watch?v=qsNPUuBVGZY" rel="nofollow">http://www.youtube.com/watch?v=qsNPUuBVGZY</a></p>
<p>You have been an important influence in my career.<br />
I&#8217;m glad i finally got a chance to thank you.</p>
<p>P.s. i totally jacked your camera for the Burt demo <img src='http://www.sjbrown.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Now You&#8217;re Lighting With Portals by Simon Brown</title>
		<link>http://www.sjbrown.co.uk/2011/01/31/now-youre-lighting-with-portals/comment-page-1/#comment-22000</link>
		<dc:creator>Simon Brown</dc:creator>
		<pubDate>Tue, 13 Sep 2011 18:17:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=618#comment-22000</guid>
		<description>The portal does get extremely close to the walls, but this is not a singularity because that is not where the light sample is.  The light sample is still in the far distance as you&#039;d expect for a dome light, the portal is only used during sampling to generate directions.

As such the distribution does indeed get a bit odd when close to the portal, but in a path tracer we are also sampling the BRDF, so multiple importance sampling will ensure that the BRDF sampling takes over and provide a good distribution.

If you have a strongly non-uniform light source, then there&#039;s nothing stopping you from combining portals with traditional light sampling, and then multiple importance sampling between the two.  You could even do this in a way that reduces the amount you sample the portal as you get close to it.  I&#039;ve not tried this though. :)</description>
		<content:encoded><![CDATA[<p>The portal does get extremely close to the walls, but this is not a singularity because that is not where the light sample is.  The light sample is still in the far distance as you&#8217;d expect for a dome light, the portal is only used during sampling to generate directions.</p>
<p>As such the distribution does indeed get a bit odd when close to the portal, but in a path tracer we are also sampling the BRDF, so multiple importance sampling will ensure that the BRDF sampling takes over and provide a good distribution.</p>
<p>If you have a strongly non-uniform light source, then there&#8217;s nothing stopping you from combining portals with traditional light sampling, and then multiple importance sampling between the two.  You could even do this in a way that reduces the amount you sample the portal as you get close to it.  I&#8217;ve not tried this though. <img src='http://www.sjbrown.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Now You&#8217;re Lighting With Portals by Allen</title>
		<link>http://www.sjbrown.co.uk/2011/01/31/now-youre-lighting-with-portals/comment-page-1/#comment-21993</link>
		<dc:creator>Allen</dc:creator>
		<pubDate>Tue, 13 Sep 2011 00:46:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=618#comment-21993</guid>
		<description>In your example, was the portal touching the sides of the opening?  And if so, how do you avoid high variance where the walls meet the portal (where some portal samples might be very close to the walls)?</description>
		<content:encoded><![CDATA[<p>In your example, was the portal touching the sides of the opening?  And if so, how do you avoid high variance where the walls meet the portal (where some portal samples might be very close to the walls)?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Representing Rotations In Quaternion Arithmetic by Simon Brown</title>
		<link>http://www.sjbrown.co.uk/2002/05/01/quaternions/comment-page-1/#comment-19965</link>
		<dc:creator>Simon Brown</dc:creator>
		<pubDate>Fri, 13 May 2011 09:50:12 +0000</pubDate>
		<guid isPermaLink="false">http://sjbrown.co.uk/blog/?p=127#comment-19965</guid>
		<description>Thanks for reporting, that&#039;s been broken for years!  Fixed.</description>
		<content:encoded><![CDATA[<p>Thanks for reporting, that&#8217;s been broken for years!  Fixed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Representing Rotations In Quaternion Arithmetic by Marc</title>
		<link>http://www.sjbrown.co.uk/2002/05/01/quaternions/comment-page-1/#comment-19955</link>
		<dc:creator>Marc</dc:creator>
		<pubDate>Thu, 12 May 2011 23:12:46 +0000</pubDate>
		<guid isPermaLink="false">http://sjbrown.co.uk/blog/?p=127#comment-19955</guid>
		<description>I think your definition of the conjugate is wrong.
You state that for q=(w,x,y,z) the conjugate q* is defined as q*=(x,-y,-z,-w).
The correct definition is q*=(w,-x,-y,-z).

Aside from that... great article ;-)</description>
		<content:encoded><![CDATA[<p>I think your definition of the conjugate is wrong.<br />
You state that for q=(w,x,y,z) the conjugate q* is defined as q*=(x,-y,-z,-w).<br />
The correct definition is q*=(w,-x,-y,-z).</p>
<p>Aside from that&#8230; great article <img src='http://www.sjbrown.co.uk/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Projected Solid Angle Is Projected by ingenious</title>
		<link>http://www.sjbrown.co.uk/2011/04/16/projected-solid-angle-is-projected/comment-page-1/#comment-19427</link>
		<dc:creator>ingenious</dc:creator>
		<pubDate>Sat, 16 Apr 2011 20:34:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=758#comment-19427</guid>
		<description>It&#039;s true, Lambertian and specular are indeed the most common BRDFs, at least in research scenes :)

As for returning the reciprocal PDF, I&#039;ve considered it before. The nice thing is that you can avoid divisions altogether this way. However, I did not go with this approach, because it was less natural and I often need the PDF value for multiple importance sampling. And in practice I often need to divide by something else (e.g. Russian roulette or some other probability), in which case there&#039;s no additional division introduced by the sampling PDF.</description>
		<content:encoded><![CDATA[<p>It&#8217;s true, Lambertian and specular are indeed the most common BRDFs, at least in research scenes <img src='http://www.sjbrown.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As for returning the reciprocal PDF, I&#8217;ve considered it before. The nice thing is that you can avoid divisions altogether this way. However, I did not go with this approach, because it was less natural and I often need the PDF value for multiple importance sampling. And in practice I often need to divide by something else (e.g. Russian roulette or some other probability), in which case there&#8217;s no additional division introduced by the sampling PDF.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  www.sjbrown.co.uk/comments/feed/ ) in 0.16280 seconds, on Feb 5th, 2012 at 8:57 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 5th, 2012 at 9:57 am UTC -->
