A fully ray-traced renderer written in C++

This project was completed as part of a 3rd year Graphics unit. The aim was to create a fully featured 3d graphics engine to render a short animation. The project supports various features:

  • Importing of 3D models (.stl files, including materials)
  • Rendering of (lit) rasterised images with anti-aliasing
  • Ray-tracing support (with multi-sampling and AA) for lighting (including Gouraud and Phong shading)
  • Various materials including mirrors, bump-maps and glass
  • Global Illumination using the Monte Carlo method

Final animation