Ray Tracer

Solo Project | 2020

C++ | OpenMP

View on Github

OVERVIEW


• Fully modularized tracing pipeline with Phong Shading


• Adjustable camera


• Sub-second 4K scene rendering


• Multicore support


• Guest contribution for refraction

TECHNICAL HIGHLIGHTS


• Flexible scene building interface with primitives for shapes, lights, materials, and colors


• Axis-aligned perspective camera with adjustable position and orientation, and lookAt functionality


• Parallelized tracing algorithm optimized using OpenMP, with options for reflections, shadows, attenuation, specular, diffuse lighting


• Post processing implemented using alpha-beta correction


  • • Self contained math libraries for interpolation, vector operations, and ray intersections



From the top, looking down