Submission deadline: 17/12/17.
In this homework we will implement a simple pathtracer.
You have to implement the functions provided in the
pathtrace.cpp file. As a suggestion, we left the signature of the functions used to generate the solution available. You can change the code structure if you prefer though.
In particular you will implement:
To build the application we will use the Yocto/GL library, and in particular the following files:
The code can be compiled with cmake which, for OsX, is shown in the scripts
xcode.sh. CMake will generate project files for different build systems including Makefiles, Xcode and Visual Studio.
This repository contains also various tests that are executed from the command line as in
run.sh. The images generated are written to the
out/ directory. Your results should match the images in the
check/ directory. We also include debugging runs that we suggest you execute while developing the code in
rund.sh with results in
checkd/. Note that the images are not runt to convergence so there is a lot of visible noise left. We except the noise to change in your implementation (since it depends on the order of the random numbers), but that the noise "level" should match ours.
As extra credit, you can implement the following functions.
To submit the homework, you will use a form indicated on the Google Group where we report first and last name, email, student id (numero di matricola) and you will upload a ZIP file containing the results. In the ZIP file you are to include only your code in and the images generated by your code. This means that your ZIP file will only include the
out/ directories. You have to name your file
<numero_di_matricola>.zip and exlude all other directories.