Some refinements to my SPPM renderer

2011-08-15 22:10:06.0 - [Permalink]   [1 Comments]

Stochastic Progressive Photon Mapping

My permuted Halton sequence for sampling the photons made a "cloud"-pattern of indirect hits on the walls. This picture was rendered with a plain Mersenne-twister making the indirect light much smoother with just a couple of iterations with 50000 photons with an initial radius of 5 cm and an alpha-value of 0.7. Still using one single radius instead of storing individual radii with each hit.

I also got "polka dots" on the walls because of photons with insane intensity, but with a bit of tinkering with the y-values of the reflection/refraction-distributions they disappeared. Now a each deposited photon is always less or equal to what it was initially generated with.

Now I also use Beer-Lambert's law to attenuate the photons when traveling through dielectric media. Not visible on this small tank though. I currently use one single attenuation coefficient for all wavelengths, but will use full spectral attenuation when I have found good data. This was a really good article about it with some data for seawater: http://partialgeek.net/2010/03/26/physically-based-absorption-in-luxrender/.

The final frontier would be implementing dispersion. The fresnel equations makes the transitions between full internal reflection a bit too sharp and aquariums are littered with nice rainbow phenomenons when you know where to look. Unfortunately this would also make the raytrace very noisy and time consuming so I think I will skip it.

So know the work with making a user friendly GUI will begin and couple it to Google Appengine for storing reflector profiles and spectral data. I don't look forward to it. Especially not the reflector-profile-editor..

The picture is rendered in about 20 minutes with 2000000 photons and 2,4 Ghz without multi threading, but you get a really nice view of the scene in just one iteration in about 20-40 seconds. You'll want 3-4 iterations to get nice anti-alising though.

Kommentarer

2011-11-04 10:34:14.0

Houston, Houston, can you hear me...

Add new Comment

Månadsväljare

[2013-4]  [2013-3]  [2012-5]  [2012-3]  [2012-1]  [2011-12]  [2011-8]  [2011-5]  [2011-4]  [2011-3]  [2011-2]  [2011-1]  [2010-12]  [2010-11]  [2010-10]  [2010-9]  [2010-8]  [2010-7]  [2010-6]  [2010-5]  [2010-4]  [2010-3]  [2010-2]  [2010-1]  [2009-12]  [2009-11]  [2009-10]  [2009-9]  [2009-8]  [2009-7]  [2009-6]  [2009-5]  [2009-4]  [2009-3]  [2009-2]  [2009-1]  [2008-12]  [2008-11]  [2008-10]  [2008-9]  [2008-8]  [2008-7]  [2008-6]  [2008-5]  [2008-4]  [2008-3]  [2008-2]  [2008-1]  [2007-12]  [2007-11]  [2007-10]  [2007-9]  [2007-8]  [2007-7]  [2007-6]  [2007-5]  [2007-4]  [2007-3]  [2007-2]  [2007-1]  [2006-12]  [2006-11]  [2006-10]  [2006-9]  [2006-8]  [2006-7]  [2006-6]  [2006-5]  [2006-4]  [2006-3]  [2006-2]  [2006-1]  [2005-12]  [2005-11]  [2005-10]  [2005-9]  [2005-8]  [2005-7]  [2005-6]  [2005-5]  [2005-4]  [2005-3]  [2005-2]  [2005-1]  [2004-12]  [2004-11]  [2004-10]  [2004-9]  [2004-8]  [2004-7]  [2004-6]  [2004-5]  [2004-4]  [2004-3]  [2004-2]  [2004-1]  [2003-12]  [2003-11]  [2003-10]  [2003-9