<?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>Simon&#039;s Graphics Blog &#187; Global Illumination</title>
	<atom:link href="http://www.sjbrown.co.uk/category/global-illumination/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sjbrown.co.uk</link>
	<description>Work log for ideas and hobby projects.</description>
	<lastBuildDate>Fri, 13 May 2011 09:48:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Virtual Point Light Bias Compensation</title>
		<link>http://www.sjbrown.co.uk/2011/05/09/virtual-point-light-bias-compensation/</link>
		<comments>http://www.sjbrown.co.uk/2011/05/09/virtual-point-light-bias-compensation/#comments</comments>
		<pubDate>Mon, 09 May 2011 18:52:03 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=792</guid>
		<description><![CDATA[Nothing new here, just highlighting the 2004 paper Illumination in the Presence of Weak Singularities by Kollig and Keller. This paper presents a simple and elegant solution to the problem of clamping the geometry term when using virtual point lights for illumination. Consider the following scene with two area lights (in this case rendered using [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2011/05/09/virtual-point-light-bias-compensation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projected Solid Angle Is Projected</title>
		<link>http://www.sjbrown.co.uk/2011/04/16/projected-solid-angle-is-projected/</link>
		<comments>http://www.sjbrown.co.uk/2011/04/16/projected-solid-angle-is-projected/#comments</comments>
		<pubDate>Sat, 16 Apr 2011 10:01:12 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=758</guid>
		<description><![CDATA[There are two quantities flying around when writing a physically based renderer: Irradiance, which is power per unit area Radiance, which is power per unit area per unit projected solid angle Any BSDF is the ratio between the two: a patch receives unit irradiance from some incident direction, the BSDF defines the radiance emitted for [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2011/04/16/projected-solid-angle-is-projected/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Hybrid Bidirectional Path Tracing</title>
		<link>http://www.sjbrown.co.uk/2011/03/21/hybrid-bidirectional-path-tracing/</link>
		<comments>http://www.sjbrown.co.uk/2011/03/21/hybrid-bidirectional-path-tracing/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 20:14:07 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=649</guid>
		<description><![CDATA[I&#8217;d like to share my results from converting a CPU-only bidirectional path tracer into a CPU/GPU hybrid (CPU used for shading and sampling, GPU used for ray intersections). These results are a bit old&#8230; I posted them a while ago as a thread on ompf. I found out later that this thread had been cited [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2011/03/21/hybrid-bidirectional-path-tracing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Now You&#8217;re Lighting With Portals</title>
		<link>http://www.sjbrown.co.uk/2011/01/31/now-youre-lighting-with-portals/</link>
		<comments>http://www.sjbrown.co.uk/2011/01/31/now-youre-lighting-with-portals/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 21:55:52 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=618</guid>
		<description><![CDATA[I hate dome lights. You always waste a ton of rays that are occluded by geometry, and the situation gets even worse when lighting indoor scenes with exterior dome lights! So why not help your renderer out and place portals that, when hit, teleport to the dome light. Then instead of sampling the whole skydome, [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2011/01/31/now-youre-lighting-with-portals/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Two-Way Path Tracing</title>
		<link>http://www.sjbrown.co.uk/2011/01/03/two-way-path-tracing/</link>
		<comments>http://www.sjbrown.co.uk/2011/01/03/two-way-path-tracing/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 13:17:29 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=460</guid>
		<description><![CDATA[This post is about a path tracing technique that sits between unidirectional path tracing and bidirectional path tracing. For want of a better name, let&#8217;s call this two-way path tracing. It&#8217;s defined as follows: Trace eye rays, handle light source intersections and sample light sources explicitly Trace light rays, handle sensor intersections and sample sensors [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2011/01/03/two-way-path-tracing/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Adventures in CUDA Path Tracing: Part 2</title>
		<link>http://www.sjbrown.co.uk/2010/10/24/adventures-in-cuda-path-tracing-part-2/</link>
		<comments>http://www.sjbrown.co.uk/2010/10/24/adventures-in-cuda-path-tracing-part-2/#comments</comments>
		<pubDate>Sun, 24 Oct 2010 17:21:09 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=467</guid>
		<description><![CDATA[This is really just teaser post for my next update.  I&#8217;ve not done much on traversal yet (hence the world of spheres), but I&#8217;ve made some progress on shading.  Here&#8217;s a screenshot of a pure CUDA renderer left for 20 seconds or so to get a nice smooth result: This scene contains a few BSDFs: [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2010/10/24/adventures-in-cuda-path-tracing-part-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Using Optix</title>
		<link>http://www.sjbrown.co.uk/2010/08/11/using-optix/</link>
		<comments>http://www.sjbrown.co.uk/2010/08/11/using-optix/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 11:41:11 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=381</guid>
		<description><![CDATA[Optix version 2.0 was released recently, so I gave it a go by plugging it into an existing multi-core path tracer. This path tracer can submit tens of thousands of ray queries as a batch so should be a good match for Optix and the GPU. I liked: Ease of use. Wow this thing makes [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2010/08/11/using-optix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CUDA Mersenne Twister</title>
		<link>http://www.sjbrown.co.uk/2009/12/13/cuda-mersenne-twister/</link>
		<comments>http://www.sjbrown.co.uk/2009/12/13/cuda-mersenne-twister/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 22:09:57 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=319</guid>
		<description><![CDATA[I needed a random number generator for a CUDA project, and had relatively few requirements: It must have a small shared memory footprint It must be suitable for Monte Carlo methods (i.e. have long period and minimal correlation) It must allow warps to execute independently when generating random numbers There seem to be two main [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2009/12/13/cuda-mersenne-twister/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adventures in CUDA Path Tracing: Part 1</title>
		<link>http://www.sjbrown.co.uk/2009/08/15/cuda-path-tracing/</link>
		<comments>http://www.sjbrown.co.uk/2009/08/15/cuda-path-tracing/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 13:55:43 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=295</guid>
		<description><![CDATA[I thought I&#8217;d have a go at implementing some path tracing in CUDA. Let&#8217;s start simple: a classical path tracer with explicit direct lighting. Lots of hacks: No BVH yet, every ray tests the 30 triangles of the Cornell Box Every surface is lambertian (so cosine weighted hemisphere sampling for spawning rays) Hardcoded for a [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2009/08/15/cuda-path-tracing/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Metropolis Light Transport</title>
		<link>http://www.sjbrown.co.uk/2009/05/10/metropolis-light-transport/</link>
		<comments>http://www.sjbrown.co.uk/2009/05/10/metropolis-light-transport/#comments</comments>
		<pubDate>Sun, 10 May 2009 11:47:53 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[Global Illumination]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=275</guid>
		<description><![CDATA[Here are a collection of papers/links on the topic of Metropolis Light Transport (MLT).  The core principle of detailed balance that underpins the Metropolis-Hastings algorithm is extremely neat, and its application to light transport (in particular using Veach&#8217;s path integral formulation) is very aesthetically pleasing.  This post doesn&#8217;t really go anywhere, just provides links for [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2009/05/10/metropolis-light-transport/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.sjbrown.co.uk/category/global-illumination/feed/ ) in 0.22787 seconds, on Feb 5th, 2012 at 9:07 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 5th, 2012 at 10:07 am UTC -->
