The homework assignments for CMSC740 Advanced Computer Graphics are based on Nori, a minimalistic ray tracer written in C++ by Wenzel Jakob. Download a fork of Nori that we adapted for this class from this git repository. The material on this webpage and the homework assignments are adapted from Wenzel Jakob's original site.
While Nori provides much support code to simplify your development work as much as possible, the code that you will initially receive from us does very little: it loads a scene and saves a rendered image as an OpenEXR image—but the actual rendering code is missing, hence the output image just consists of black pixels. Your task will be to extend this system to a full-fledged physically-based renderer as part of programming assignments.
You may find the following general references useful:
We will follow the academic integrity policies of UMD. In particular, undeclared copying of code or images (either from other students or from external sources) will be considered plagiarism and a violiation of the code of student conduct.
Upload your source code to ELMS/Canvas by the deadline. Do not include binary files! For each assignment you need to include a report that should adhere to the following conventions:
.exr
as well as a sRGB tonemapped .png
image of your rendering that can be directly used for the comparisons in your report.Late submissions are subject to a late penalty of 50% of your score.