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%