= Assignment 4: Environment Map Importance Sampling = == Due: Tuesday May 16th, 11:59PM == Questions? Need help? Post them on the Assignment4Discussion page so everyone else can see! Please add a link to your final writeup on ["Assignment4Submission"]. http://graphics.stanford.edu/courses/cs348b-06/homework4/tt1.jpg http://graphics.stanford.edu/courses/cs348b-06/homework4/tt2.jpg == Description == In the scenes we've rendered in this class so far, objects were lit using a small number of spotlight or area light sources. In the real world, light incident on an object comes not just from light emitters, but from all directions. One way of approximating this effect in pbrt is to use an environment light ('''infinite area light''' in pbrt), which is used to define light entering the scene from ''all directions'' due the surrounding environment. Environment lighting can greatly contribute to the realism and richness of your renderings, such as in the images of the car above. However, since computing environment lighting involves integrating incoming radiance over the entire hemisphere, in the worst case, monte carlo estimates are prone to be noisy, and require many samples to produce images of reasonable quality. In this project you will add support to pbrt for handling distant environmental lighting more efficiently by using importance sampling. We are happy to inform you that this assignment is designed to be significantly shorter than Homework 2 and 3. == Step 1: Background Reading == Read chapters 13 (especially 13.5), 14 (especially 14.3.4) and 15 (especially 15.6) in the pbrt book. == Step 2: == Download the Assignment 4 [http://graphics.stanford.edu/courses/cs348b-06/homework4/ zip file]. Render an image of the killeroos described in the file {{{killeroo_imp.pbrt}}}. This uses pbrt's built-in implementation of an infinite environment light ({{{/lights/infinite.cpp}}}). Notice, that even using 16 samples to sample the environment map, the image remains very noisy. It should look something like this: http://graphics.stanford.edu/courses/cs348b-06/homework4/killeroo_sunset_16.png In this scene, the killeroos are illuminated using a single infinite area light. The light entering the scene from the angle (phi, theta) is defined by the image below. We illustrate the correspondence between pixels in the image map to directions on the sphere. http://graphics.stanford.edu/courses/cs348b-06/homework4/envmap_diagram.png