Monday, April 03, 2006

For the second assignment in the ASR course we took a dive into the beautiful world of Global Illumination.

We had to write a Monte Carlo path tracer. The math is a bit involved but it all boils down to a very simple algorithm. Take a loot at this slide for more information.

What you gain in simplicity you loose in speed. Since we approximate the rendering equation with random sampling (Monte Carlo integration) we need to sample a lot to reduce noise. The first image was redered at a resolution of 1024 x 1024 with 625 samples per pixel. It took 72 minutes to complete. The second one uses 2304 samples per pixels and took about 6 hours to render:)

I really like the second image. Note the caustics formed by light passing through the glass objects. Quite pretty! Kudos to Jesper for setting up that scene!

1 comment:

Don Spaulding said...

Hello there! I was wondering what your intentions were with this engine? Are you creating a commercial product, or will you be releasing the code under an Open Source license?

Also, I saw some webcasts on MS site about game programming in C# and they said performance is good, but not great (for 3d games). Do you anticipate this engine to be capable of controlling a fast-paced, high-poly game (like a First Person Shooter)?