For the course Advanced Graphics at Utrecht University (taught by Jacco
Bikker), I created a
fully fledged multi-threaded CPU path tracer,
utilizing techniques such as Importance Sampling, Next Event Estimation, very fast BVH
construction (40
ms for over 17k triangles, single core performance),
volumetrics and crude spectral rendering.