Ray Tracer


This is a personal project for the course Advanced Computer Graphics to implemented a ray tracer with mesh simplification in C++. I got first in class with this project.

For the ray tracer, I implemented:
   ✦ Phong Model and Monte Carlo Path Tracing Model;
   ✦ Rendering of plane, sphere and mesh;
   ✦ BSP Tree;
   ✦ Mesh simplification;
   ✦ Obj file implementation;
   ✦ Mesh smooth;
   ✦ Custom texture;
   ✦ Depth of Field;
   ✦ Parallel rendering;
   ✦ Qt-based gui && Command line interface;

Monto Carlo Model

Phong Model

My mesh simplification is based on quadric error matrix.

Original model with 10,000 vertex, reduce 50%, reduce 90%