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:
- 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:
- Cohen and Wallace, Radiosity and Realistic Image
Synthesis, AP Professional,
ISBN 0121782700. On reserve in the Sci/Eng library. Best price for used copy.
- Sillion and Puech, Radiosity and Global Illumination,
Morgan Kaufmann, ISBN 1558602771. Best price for used copy.
- Dutre, Bekaert, Bala, Advanced Global Illumination,
AK Peters, ISBN 1568811772. Best price for used copy.
- 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.