COMP 5812M: Foundations of Modeling & Rendering 2019-2020
ASSIGNMENT 5: Recursive Raytracing [10 marks]
In this assignment, you will extend the raytracer from Assignment 4. You may alternately choose to finish the work on Assignment 4, and all work on Assignment 4 handed in by the due date of Assignment 5 will be accepted and marked.
You should add the following to your raytracer:
• Full floating-point accuracy and gamma-correction. [2 marks]
• Recursive raytracing as shown in class. [5 marks]
• The Cornell box (see below). [3 marks]
The Cornell Box : The Cornell Box is a standard test scene designed so that it can be constructed physically as well as digitally, allowing comparison of the rendered image with an actual photograph. It consists of:
• One area light source in the centre of a white ceiling
• A red left wall
• A green right wall
• A white back wall
• A white floor
Notice this gives an open-sided box: your camera should be facing into it, with the image size set so that you only see the interior of the box. Because of the position of the light source, the edges where walls meet are darker than the walls themselves, which tests the global illumination of your renderer.
Parameters: Choose suitable parameters for colours, sizes, positions, &c. and document your choices in your readme file.
PENALTIES:
Poorly structured or badly commented code may be penalised by up to 25% of the marks available.
Poorly formatted output files may also be penalised by up to a further 25% of the marks available.
Code without a readme or makefile may be penalised by up to 10% of the marks available.
Code that does not compile properly will be assigned a mark of 0, but I will usually give the student one chance to correct this.
DUE DATE: Friday, December 20, 10:00 am