<?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>fixored? &#187; Rendering</title>
	<atom:link href="http://www.sjbrown.co.uk/category/rendering/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sjbrown.co.uk</link>
	<description>It works on my machine.</description>
	<lastBuildDate>Sun, 13 Dec 2009 22:09:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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[GPGPU]]></category>
		<category><![CDATA[Global Illumination]]></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 approaches to RNG in [...]]]></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[GPGPU]]></category>
		<category><![CDATA[Global Illumination]]></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 single [...]]]></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>Convergence</title>
		<link>http://www.sjbrown.co.uk/2009/08/06/convergence/</link>
		<comments>http://www.sjbrown.co.uk/2009/08/06/convergence/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 16:18:48 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://www.sjbrown.co.uk/?p=288</guid>
		<description><![CDATA[I&#8217;m extremely excited about the results of Understanding the Efficiency of Ray Traversal on GPUs, and the related work by NVIDIA on ray traversal.  In a programming way of course.
There&#8217;s this interesting paradigm shift from a strongly geometric grid model to one where we have persistent threads running small kernels (or actually large kernels due [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2009/08/06/convergence/feed/</wfw:commentRss>
		<slash:comments>0</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>
		<item>
		<title>Multiple Importance</title>
		<link>http://www.sjbrown.co.uk/2009/02/05/multiple-importance/</link>
		<comments>http://www.sjbrown.co.uk/2009/02/05/multiple-importance/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 23:50:41 +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=262</guid>
		<description><![CDATA[At work I wrote a global illumination system from scratch.  It used classical ray tracing for the direct lighting, and photon mapping with final gather for the indirect term.  I use the past tense since we&#8217;ve now switched over to using lightcuts as the main renderer, which due to the work of an awesome colleague, [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2009/02/05/multiple-importance/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Gamma-Correct Rendering</title>
		<link>http://www.sjbrown.co.uk/2004/05/14/gamma-correct-rendering/</link>
		<comments>http://www.sjbrown.co.uk/2004/05/14/gamma-correct-rendering/#comments</comments>
		<pubDate>Fri, 14 May 2004 19:00:42 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://sjbrown.co.uk/blog/?p=55</guid>
		<description><![CDATA[With consumer-level hardware now capable of rendering high dynamic range image data, the days of the 8-bit sRGB framebuffer are numbered. Programmers of next-generation graphics devices are able to model lighting systems to high accuracy, then tone-map these values into a displayable range for conventional 8-bit sRGB equipment, such as PC monitors.
The graphics pipeline from [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2004/05/14/gamma-correct-rendering/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Continuous Silhouettes</title>
		<link>http://www.sjbrown.co.uk/2004/05/11/continuous-silhouettes/</link>
		<comments>http://www.sjbrown.co.uk/2004/05/11/continuous-silhouettes/#comments</comments>
		<pubDate>Tue, 11 May 2004 19:00:42 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Rendering]]></category>
		<category><![CDATA[Shadows]]></category>

		<guid isPermaLink="false">http://sjbrown.co.uk/blog/?p=63</guid>
		<description><![CDATA[Silhouettes are commonly used for real-time shadowing algorithms. Usually these are generated from the existing edges of a mesh using the face normals. Since shading is usually interpolated over the triangle from the vertex normals, this can introduce shading artifacts where the vertex and face normals do not agree. In addition, these silhouettes move discontinuously [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2004/05/11/continuous-silhouettes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Fix The DirectX Rasterisation Rules</title>
		<link>http://www.sjbrown.co.uk/2003/05/01/fix-directx-rasterisation/</link>
		<comments>http://www.sjbrown.co.uk/2003/05/01/fix-directx-rasterisation/#comments</comments>
		<pubDate>Thu, 01 May 2003 19:00:12 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[Rendering]]></category>

		<guid isPermaLink="false">http://sjbrown.co.uk/blog/?p=117</guid>
		<description><![CDATA[DirectX has always rasterised to render target pixel centres, and has always looked up textures from texel edges. Because of this, it is more difficult than it should be to write a flexible shader system where various portions of your pipeline are image-based. It is much simpler to work in a unified system where you [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2003/05/01/fix-directx-rasterisation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Really Old Demos &#8211; The Buggy Demo</title>
		<link>http://www.sjbrown.co.uk/2002/08/01/the-buggy-demo/</link>
		<comments>http://www.sjbrown.co.uk/2002/08/01/the-buggy-demo/#comments</comments>
		<pubDate>Thu, 01 Aug 2002 19:00:30 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[Rendering]]></category>
		<category><![CDATA[Shadows]]></category>

		<guid isPermaLink="false">http://sjbrown.co.uk/?p=222</guid>
		<description><![CDATA[This demo is just here for posterity &#8211; it formed part of my August 2002 coding portfolio when I was first applying for jobs in the games industry.  Be warned, there&#8217;s some seriously dodgy coding going on here&#8230;

The Buggy Demo
This demo was my first released finished project. It combines stencil shadowing with an open [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2002/08/01/the-buggy-demo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Really Old Demos &#8211; Cubic Shadow Mapping</title>
		<link>http://www.sjbrown.co.uk/2002/08/01/cubic-shadow-mapping/</link>
		<comments>http://www.sjbrown.co.uk/2002/08/01/cubic-shadow-mapping/#comments</comments>
		<pubDate>Thu, 01 Aug 2002 18:00:49 +0000</pubDate>
		<dc:creator>Simon Brown</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[Rendering]]></category>
		<category><![CDATA[Shadows]]></category>

		<guid isPermaLink="false">http://sjbrown.co.uk/?p=235</guid>
		<description><![CDATA[This demo is just here for posterity &#8211; it formed part of my August 2002 coding portfolio when I was first applying for jobs in the games industry. Be warned, there’s some seriously dodgy coding going on here…

Cubic Shadow Mapping
This demo shows a variation on shadow mapping using cube maps and pixels shaders to all [...]]]></description>
		<wfw:commentRss>http://www.sjbrown.co.uk/2002/08/01/cubic-shadow-mapping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
