A basic implementation of using ray tracing to draw interesting graphics to an image. A bitmap is written and saved rather than an OS specific window to remain reasonably system independant.

Learning materials used include the Ray Tracing in One Weekend Series and Handmade Hero on youtube.

Reflection quality is accurate but only at very high rays per pixel.

Currently, materials are limited to magnitude of specularity.


  • Load BRDF data to objects.
  • Multithreading and SIMD: At 1024 rays per pixel the image can take up to half an hour to write to.
  • More realistic lighting calculations alongisde authentic light sampling.
  • Proper camera aperture code.
  • Accomodate more objects than simple spheres and planes with the goal of implementing the Cornell box.



View Github