CS 447/647: Image Synthesis
Assignment 5: Image-based Lighting
Due: April 3
For this assingment you will add a new integrator to lrt. Integrators currently available include the standard Whitted model, monte carlo (path tracing), photon mapping, etc. Each of these models integrate the illumination by sampling some combination of light sources (direct lighting) and reflected light (indirect illumination). In contrast, an image-based model samples scene radiance by integrating image data, wherein most cases the image is that of natural light. You will add an image-based integrator to lrt and render a scene using natural light.
Below is a list of necessities:
We have provided you with skeleton code for the image-based integrator. You should download these files; add the Makefile.list to the lrt root directory and add image.cc to the integrators directory. image.cc is the skeleton class.
The rib files needed for this assignment can be downloaded here . You can test the files by running lrt decls.rib ibl.rib, which will output ibl.tiff (using the photon mapping integrator). ibl.rib contains a (commented out) specification for the image-based integrator (labeled "image"). The "lightprobe" parameter is the path to an angular map light probe. You can download several of these light probes here. The ImageIntegrator class constructor automatically parses the light probe file and returns a pointer to RGB radiance values.
The basic steps are as follows: at each intersection in the scene, you want to sample the BSDF and use the returned direction to access radiance values in the light probe image. If there is no intersection, instead of returning nothing you should return the proper 'background' radiance according to the light probe. NOTE: you will need to generate several samples per pixel to avoid a noisy rendering.
Paul Debevec's website is a good source for learning about image-based rendering.
Your code must be linux savvy.
Write a short web page describing your implementation. The web page should consist of:
Then, just mail the URL to the TA and include Assigment 5 Submission in the subject
When submitting assignments, NEVER mail the TA anything other than a URL.
This homework will be graded according to the following system:
0 - Little or no work was done
* - Significant effort was put into the assignment but the rendering is incorrect.
** - All requirements satisfied.