Programming Assignment 3

Due 11:59PM on Thursday, April 6

In this assignment you will implement a global illumination rendering algorithm. You can choose one of two options:
  1. Radiosity Rendering. Implement your choice of radiosity algorithm for quadrilateral models. Demonstrate your program on the standard Cornell Box and other models of your choice. Information relevant to this project is available in any of the following texts:

  2. Photon Mapping. Implement a photon mapping renderer for quadrilateral or triangular models. Demonstrate your program on the standard Cornell Box and other models of your choice. Information relevant to this project is available in:

Submitting Your Report

By the deadline, send the URL for your report WWW page to the grader: Tai-peng Tian

What You Turn In

Create an HTML document "p3.html" that describes your project. In the first part of the report, describe the algorithms used in your rendering implementation. Give an overview of how your program is structured, and provide a module diagram. Be sure to describe the algortihms employed in sufficient detail for someone else to implement your system. Be sure to discuss the assumptions and weaknesses of the particular technique employed. How does your program fail and why? Discuss the strengths and weaknesses of the method(s) you implemented, and how you would improve the program if you had more time. Please comment on issues of computational complexity vs. accuracy of algorithm employed.

Include output images from your system.

Include at least four images showing results obtained with your system.  

Finally, include your source files, program executable, and Makefile. Please be sure to tell us what computer platform (e.g., Windows, Linux, Solaris) your tool runs on.

The report you write should be clear and to the point. The code you submit should be well-structured and clearly documented.