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