High-performance path-traced rendering.

This project implemented a full path-tracer based on production-level rendering algorithms, including Monte Carlo integration and importance sampling methods. Using this algorithm allowed for visual effects such as soft shadows, caustics, and mirror reflections. To achieve reasonable run times, high-performance CPU programming techniques were used, such as SIMD parallelism and optimizing for cache behavior. A bounding volume hierarchy was used to achieve a logarithmic run time for the ray-casting.