<?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>Physically-Based Rendering</title>
	<atom:link href="http://www.physicallybasedrendering.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.physicallybasedrendering.com</link>
	<description>Development of an unbiased physically-based ray tracer</description>
	<lastBuildDate>Sun, 24 Jan 2010 15:36:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Layered Material</title>
		<link>http://www.physicallybasedrendering.com/2010/01/layered-material/</link>
		<comments>http://www.physicallybasedrendering.com/2010/01/layered-material/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 22:34:16 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[Material representation]]></category>
		<category><![CDATA[layered material representation]]></category>
		<category><![CDATA[physically-based]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=135</guid>
		<description><![CDATA[In between end of year celebrations, nights in hotels because of cancelled flights and other snow storms, I still managed to progress on the layered material representation front.
I admit that it is not the most spectacular example as it does not show off the effect of absorption in the glass coat&#8230; But at the moment [...]]]></description>
			<content:encoded><![CDATA[<p>In between end of year celebrations, nights in hotels because of cancelled flights and other snow storms, I still managed to progress on the layered material representation front.</p>
<div id="attachment_139" class="wp-caption aligncenter" style="width: 460px"><a href="http://www.physicallybasedrendering.com/wp-content/uploads/2010/01/dragon-ml-20100120.jpg"><img src="http://www.physicallybasedrendering.com/wp-content/uploads/2010/01/dragon-ml-20100120.jpg" alt="Stanford Dragon, diffuse material coated with glass." width="450" height="278" class="size-full wp-image-139" /></a><p class="wp-caption-text">Stanford Dragon, diffuse material coated with glass.</p></div>
<p>I admit that it is not the most spectacular example as it does not show off the effect of absorption in the glass coat&#8230; But at the moment I cannot be asked to wait 20+ hours to re-render.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2010/01/layered-material/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dielectrics bis</title>
		<link>http://www.physicallybasedrendering.com/2009/12/dielectrics-bis/</link>
		<comments>http://www.physicallybasedrendering.com/2009/12/dielectrics-bis/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:34:00 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[General development]]></category>
		<category><![CDATA[Material representation]]></category>
		<category><![CDATA[absorption]]></category>
		<category><![CDATA[BSDF]]></category>
		<category><![CDATA[dielectrics]]></category>
		<category><![CDATA[layered material representation]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=130</guid>
		<description><![CDATA[Dielectrics and Beer&#8217;s Law are now integrated into the materials and environment frameworks. In the picture above the indices of refraction increase from left to right.
]]></description>
			<content:encoded><![CDATA[<div id="attachment_131" class="wp-caption aligncenter" style="width: 471px"><img class="size-full wp-image-131" src="http://www.physicallybasedrendering.com/wp-content/uploads/2009/12/dielectrics.jpg" alt="Dielectrics with Beer's Law." width="461" height="106" /><p class="wp-caption-text">Dielectrics with Beer&#39;s Law.</p></div>
<p>Dielectrics and Beer&#8217;s Law are now integrated into the materials and environment frameworks. In the picture above the indices of refraction increase from left to right.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2009/12/dielectrics-bis/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Reflections</title>
		<link>http://www.physicallybasedrendering.com/2009/11/reflections/</link>
		<comments>http://www.physicallybasedrendering.com/2009/11/reflections/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 19:42:36 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[General development]]></category>
		<category><![CDATA[Material representation]]></category>
		<category><![CDATA[BSDF]]></category>
		<category><![CDATA[dielectrics]]></category>
		<category><![CDATA[layered material representation]]></category>
		<category><![CDATA[physically-based]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=126</guid>
		<description><![CDATA[I have been experimenting with BRDFs lately.
In the picture above, from left to right: Oren Nayar, Torrance-Sparrow with different roughness, and smooth dielectrics.
]]></description>
			<content:encoded><![CDATA[<div id="attachment_127" class="wp-caption aligncenter" style="width: 460px"><br />
<img class="size-full wp-image-127" src="http://www.physicallybasedrendering.com/wp-content/uploads/2009/11/materials.jpg" alt="Reflection functions" width="450" height="91" /><p class="wp-caption-text">Reflection functions</p></div>
<p>I have been experimenting with BRDFs lately.</p>
<p>In the picture above, from left to right: Oren Nayar, Torrance-Sparrow with different roughness, and smooth dielectrics.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2009/11/reflections/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Convex Quadrilaterals</title>
		<link>http://www.physicallybasedrendering.com/2009/10/convex-quadrilaterals/</link>
		<comments>http://www.physicallybasedrendering.com/2009/10/convex-quadrilaterals/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 19:18:03 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[General development]]></category>
		<category><![CDATA[Material representation]]></category>
		<category><![CDATA[geometric primitives]]></category>
		<category><![CDATA[layered material representation]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=123</guid>
		<description><![CDATA[In addition to having a first (very limited) framework for material representation and rendering, I have just added support for convex quadrilaterals.
Both features are combined below in a Cornell Box test (using original spectral and dimension data).
]]></description>
			<content:encoded><![CDATA[<p>In addition to having a first (very limited) framework for material representation and rendering, I have just added support for convex quadrilaterals.</p>
<p>Both features are combined below in a Cornell Box test (using original <a href="http://www.graphics.cornell.edu/online/box/data.html" target="_blank">spectral and dimension data</a>).</p>
<div id="attachment_124" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-124" src="http://www.physicallybasedrendering.com/wp-content/uploads/2009/10/cornell_box.jpg" alt="Cornell Box" width="300" height="300" /><p class="wp-caption-text">Cornell Box</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2009/10/convex-quadrilaterals/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kd-tree Cache</title>
		<link>http://www.physicallybasedrendering.com/2009/09/kd-tree-cache/</link>
		<comments>http://www.physicallybasedrendering.com/2009/09/kd-tree-cache/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 20:50:01 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[General development]]></category>
		<category><![CDATA[Optimisation]]></category>
		<category><![CDATA[kd-tree]]></category>
		<category><![CDATA[mesh]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=114</guid>
		<description><![CDATA[I&#8217;ve just added a caching mechanism for the kd-tree.
It makes a huge difference in start-up time for complex meshes: Kd-tree construction for a 10 million triangle mesh takes quite some time (Ok, my construction routine may not be the fastest&#8230;) but once cached, rendering can start nearly instantaneously.
I&#8217;ve also noticed that kd-trees my renderer generate [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just added a caching mechanism for the kd-tree.</p>
<p>It makes a <em>huge</em> difference in start-up time for complex meshes: Kd-tree construction for a 10 million triangle mesh takes quite some time (Ok, my construction routine may not be the fastest&#8230;) but once cached, rendering can start nearly instantaneously.</p>
<p>I&#8217;ve also noticed that kd-trees my renderer generate lend themselves to compression fairly well. E.g., the tree generated for the <a href="http://graphics.stanford.edu/data/3Dscanrep/" target="_blank">Stanford repository</a>&#8217;s Asian Dragon weights around 124 MB, but a standard zip slims it down to 53 MB.</p>
<p>Hence, I&#8217;ll certainly add compression support to the cache.</p>
<p>That brings up the question: What does a high compression ratio say about a tree&#8217;s quality?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2009/09/kd-tree-cache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Multithreading part 2</title>
		<link>http://www.physicallybasedrendering.com/2009/09/multithreading-part-2/</link>
		<comments>http://www.physicallybasedrendering.com/2009/09/multithreading-part-2/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 14:22:12 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[General development]]></category>
		<category><![CDATA[multithreading]]></category>
		<category><![CDATA[pthread]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=109</guid>
		<description><![CDATA[I&#8217;ve finally finished implementing multithreaded ray tracing in order to take full advantage of my iMac&#8217;s Core 2 Duo.
The implementation currently uses pthreads, which are simple enough to use and integrate. Of course, now with Snow Leopard a good move would be to go the Grand Central Dispatch route.
One issue of multithreaded ray tracing is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally finished implementing multithreaded ray tracing in order to take full advantage of my iMac&#8217;s Core 2 Duo.</p>
<p>The implementation currently uses pthreads, which are simple enough to use and integrate. Of course, now with Snow Leopard a good move would be to go the Grand Central Dispatch route.</p>
<p>One issue of multithreaded ray tracing is synchronised access to the frame buffer in order to insure consistent reconstruction filtering.</p>
<p>A solution is to restrict access to the frame buffer to a single thread. This implies buffering the samples produced by the worker threads and have this dedicated thread <em>splatter</em> them on the frame buffer.</p>
<p>Another solution, which I have implemented, is to have the worker threads work on non-contiguous parts of the frame buffer at any given time: That way worker threads may have access to the frame buffer and no buffering is required.</p>
<p>I would be curious to have performance figures in order to compare these two approaches.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2009/09/multithreading-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASCII Tracing</title>
		<link>http://www.physicallybasedrendering.com/2009/09/ascii-tracing/</link>
		<comments>http://www.physicallybasedrendering.com/2009/09/ascii-tracing/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 21:05:40 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ASCII art]]></category>
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=105</guid>
		<description><![CDATA[When I want to test my intersection code, for example when I break the KD-tree (oops), I usually switch to ASCII mode.
The Stanford bunny in all its binary glory:
................
................
...........**...
........*****...
.....*****......
....*****.......
...******.......
....*****.......
....******......
....*******.....
....*******.....
....*******.....
....******......
....******......
................
................
Note that this render is unbiased :-p
]]></description>
			<content:encoded><![CDATA[<p>When I want to test my intersection code, for example when I break the KD-tree (oops), I usually switch to ASCII mode.</p>
<p>The Stanford bunny in all its binary glory:</p>
<blockquote><p><code>................<br />
................<br />
...........**...<br />
........*****...<br />
.....*****......<br />
....*****.......<br />
...******.......<br />
....*****.......<br />
....******......<br />
....*******.....<br />
....*******.....<br />
....*******.....<br />
....******......<br />
....******......<br />
................<br />
................</code></p></blockquote>
<p>Note that this render is unbiased :-p</p>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2009/09/ascii-tracing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to boot Mac OS X 10.6 64-bit kernel</title>
		<link>http://www.physicallybasedrendering.com/2009/08/how-to-boot-mac-os-x-10-6-64-bit-kernel/</link>
		<comments>http://www.physicallybasedrendering.com/2009/08/how-to-boot-mac-os-x-10-6-64-bit-kernel/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 09:44:41 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Cult of Mac]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=92</guid>
		<description><![CDATA[Just received my copy of Mac OS X 10.6 Snow Leopard!  
One of the main new features of this version is its 64-bit kernel. However, there are a couple of catches: First, even if you have a shiny Intel Core 2 Duo Mac you must have a 64-bit EFI in order to boot the [...]]]></description>
			<content:encoded><![CDATA[<p>Just received my copy of Mac OS X 10.6 Snow Leopard! <img src='http://www.physicallybasedrendering.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>One of the main new features of this version is its 64-bit kernel. However, there are a couple of catches: First, even if you have a shiny Intel Core 2 Duo Mac you <em>must</em> have a 64-bit EFI in order to boot the 64-bit kernel.</p>
<blockquote><p><code>ioreg -l -p IODeviceTree | grep firmware-abi</code></p></blockquote>
<p>If you get EFI64 you&#8217;re in luck, otherwise tough&#8230; I got lucky: I do have a 64-bit EFI. Nice.</p>
<p>Second, even then all Macs (except Xserve) boot the 32-bit kernel by default. To use the 64-bit kernel you can either press &#8216;6&#8242; and &#8216;4&#8242; everytime you boot your Mac, or you can edit <code>com.apple.Boot.plist</code> as follows:</p>
<p>1. Open <code>/Library/Preferences/SystemConfiguration/com.apple.Boot.plist</code></p>
<p>2. Find the string:</p>
<blockquote><p><code>&lt;key&gt;Kernel Flags&lt;/key&gt;&lt;string&gt;&lt;/string&gt;</code></p></blockquote>
<ol><code> </code></ol>
<p>3. Change it to:</p>
<blockquote><p><code>&lt;key&gt;Kernel Flags&lt;/key&gt;&lt;string&gt;<strong>arch=x86_64</strong>&lt;/string&gt;</code></p></blockquote>
<p>That&#8217;s it, you&#8217;re set. (if you ever need to boot in 32-bit mode, just press &#8216;3&#8242; and &#8216;2&#8242; during boot).</p>
<p>_</p>
<p><strong>Update</strong> (31st August):</p>
<p>After having made the modification above, I wanted to insure that the kernel used was indeed the 64-bit one. To do that:</p>
<blockquote><p><code>uname -a</code></p></blockquote>
<p>Which for me unfortunately gives:</p>
<blockquote><p><code>Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009; root:xnu-1456.1.25~1/RELEASE_I386 <strong>i386</strong></code></p></blockquote>
<p>Argh&#8230;</p>
<p>So beware: a 64-bit EFI is not a guarantee that you&#8217;ll be able to use the 64-bit kernel. Especially, apparently iMac 7,1 (my case) <em>cannot</em> use the 64-bit kernel in any case.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2009/08/how-to-boot-mac-os-x-10-6-64-bit-kernel/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mac OS X 10.6 Snow Leopard</title>
		<link>http://www.physicallybasedrendering.com/2009/08/mac-os-x-10-6-snow-leopard/</link>
		<comments>http://www.physicallybasedrendering.com/2009/08/mac-os-x-10-6-snow-leopard/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 09:14:28 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Cult of Mac]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=88</guid>
		<description><![CDATA[Mac OS 10.6 will be released on Friday (28th August).
It looks like it will be a nice toy for developers of resource-hungry applications:

full 64 bit support,
OpenCL,
Grand Central Dispath (see Apple&#8217;s technology brief on GCD) for efficient multithreaded design.

Needless to say that I&#8217;ve pre-ordered it  
]]></description>
			<content:encoded><![CDATA[<p>Mac OS 10.6 will be released on Friday (28th August).</p>
<p>It looks like it will be a nice toy for developers of resource-hungry applications:</p>
<ol>
<li>full 64 bit support,</li>
<li>OpenCL,</li>
<li>Grand Central Dispath (see <a href="http://images.apple.com/macosx/technology/docs/GrandCentral_TB_brief_20090608.pdf">Apple&#8217;s technology brief on GCD</a>) for efficient multithreaded design.</li>
</ol>
<p>Needless to say that I&#8217;ve pre-ordered it <img src='http://www.physicallybasedrendering.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2009/08/mac-os-x-10-6-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multithreading</title>
		<link>http://www.physicallybasedrendering.com/2009/08/multithreading/</link>
		<comments>http://www.physicallybasedrendering.com/2009/08/multithreading/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 10:44:11 +0000</pubDate>
		<dc:creator>Romain</dc:creator>
				<category><![CDATA[General development]]></category>

		<guid isPermaLink="false">http://www.physicallybasedrendering.com/?p=86</guid>
		<description><![CDATA[It&#8217;s been quiet lately&#8230; However development has not stalled: I&#8217;m busy working on re-architecturing the code, which was quite experimental. I&#8217;m also working on multithreading support.
Hopefully soon I&#8217;ll get a nice speed bump and a leaner code base to move forward to more render features.
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been quiet lately&#8230; However development has not stalled: I&#8217;m busy working on re-architecturing the code, which was quite experimental. I&#8217;m also working on multithreading support.</p>
<p>Hopefully soon I&#8217;ll get a nice speed bump and a leaner code base to move forward to more render features.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.physicallybasedrendering.com/2009/08/multithreading/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

