CS 7650: Realistic Image Synthesis

Thiago Ize

HW5 and HW7

I used a box filter, gamma correction was 2.2, and I normalized by the maximum luminance (ignoring the light). Note that the cos(θ) renderings were done using a fixed depth of 10 and the light emissions were not interpolated. For the other renderings I interpolate the light emissions and a preliminary max depth of 3, after which Veach's efficiency-optimized Russian roulette kicks in and can continue for up to a total of 200 ray cast although usually it does less than 10, looks better, and runs faster. If you are going to do Russian roulette, I highly recommend you use Veach's version since it keeps the variance down (which means it's faster for equal quality).
I use uniform sampling in my combined importance sampling in order to have a lower bound for the combined pdf. Otherwise, it's possible to get a sample with an extremely low pdf which would in turn cause the pixel to get saturated (something divided by a very small number is very big!).


Samples per Pixel Importance Sampling by cos(θ) Importance Sampling Area Light (Direct Lighting) Combined Importance Sampling (cos(θ), direct lighting and
uniform with respective weights 1.8/3, 1/3, and 0.2/3)
100 spp 100 samples per pixel cos 100 samples per pixel direct 100 samples per pixel combined
1,000 spp 1000 samples per pixel cos 1000 samples per pixel direct 1000 samples per pixel combined
10,000 spp 10000 samples per pixel cos 10000 samples per pixel direct 10000 samples per pixel combined
100,000 spp 100000 samples per pixel cos No point doing this, the image above this one is already perfect... 100000 samples per pixel combined