Skip to content

Latest commit

 

History

History
26 lines (18 loc) · 1.37 KB

File metadata and controls

26 lines (18 loc) · 1.37 KB

Ray Tracer

A C++ ray tracer inspired by Ray Tracing in One Weekend, developed to explore advanced rendering techniques, optimize performance, and apply modern C++ design patterns.

Features

  • Modern C++ implementation with RAII and smart pointers
  • Multithreaded rendering for significant performance gains
  • Optimized code structure for readability and maintainability
  • Supports spheres, materials, and realistic lighting

Performance

Three implementations were benchmarked using the same scene and hardware:

Implementation Mean Time (s) Median Time (s) Std. Dev (s)
Original (Shirley's example) 77.6 78 1.02
Refactored (no multithreading) 66.0 66 0.89
Refactored + Multithreading (final) 26.0 26 1.90
raytracer_performance

Result: The final multithreaded version achieved ~66% faster rendering than the original implementation.

Demo

ray tracer