Ray Tracer

A ray tracer made in C++ to learn about math, data structures, algorithms and of course ray tracing.

It uses SFML to display the output. The math library is made by hand.


  • Primitive shapes.
  • Hard/soft shadows.
  • Roughness.
  • Phong shading.
  • Reflection and refraction.
  • (Prototype) sphere based acceleration structure.
  • Directional and point lights.

Project Details

For this assignment we had to create our own math library and then build a ray tracer using it. The base course was focused on getting a basic understanding about ray tracing, light, math and optimizations. The extra course I followed was about path tracing, low level optimizations and building towards a real-time ray/path tracer.

Development Time7 Weeks (+1 extra course)