This is my final project for the Subject Synthetic Image (Ray Tracing for Realistic Image Synthesis) at Universitat Pompeu Fabra (Barcelona).
Following the course me and my partner partially implemented a Ray-Tracer Graphics Engine in c++.
More specifically, we implemented:
-
An intersection shader, a depth shader, a direct illumination shader, and a global illumination shader that takes into account indirect illumination (n bounces indirect illumination).
-
Different phong materials with solid, mirror-like, transmissive and many other behaviours.
-
Light sources which have an area (as opposed to the point light sources)
-
New geometric figures such as spheres, infinite planes, cilinders and Disks using rayobject intersection mathematics.
To run the code we recommend to open the project file using Microsoft Visual Studio.
Otherwise, you can take the raw code and run it yourself on any other platform.
Professor RICARDO MARQUÉS. Collaborator GEMMA ALAIX I GRANELL.
Andrews Glassner, “An Introduction to Ray Tracing”, Academic Press Ltd. London, 1989 (Primera Edició)
Matt Pharr and Greg Humphreys, “Physically Based Rendering: From Theory to Implementation”, Morgan Kaufmann Publishers, 2010 (Segona Edició)
Philip Dutré, Philippe Bekaert, Kavita Bala, “Advanced Global Illumination”, AK Peters, 2006 (Segona Edició)