mirror of
https://github.com/Manoj-HV30/multithreaded-raytracer.git
synced 2026-05-16 19:35:24 +00:00
31aebe5ade13f95594d190bbed095b82cd17d171
Multithreaded Ray Tracer
Ray Tracing in One Weekend
This project is an implementation of Peter Shirley’s
Ray Tracing in One Weekend,
the first book in the Ray Tracing trilogy series, written in C++.
In addition to single threaded implementation, I've added multithreading to keep the render time reasonable.
Final Render (500 Samples Per Pixel, 1200×675)
Performance Benchmark
My CPU is Intel Core i9-13900H with 8E and 6P cores (20 logical threads). The above image was rendered in about 5m 20s with all of the logical threads saturated and CPU utilization at ~95% with a base clock of 2.8GHz. The image consists of 500 samples per pixel, 50 Max recursion depth at 1200 x 675 resolution. The original PPM image was converted to PNG format using ImageMagick.
Render Time
| Mode | Render Time |
|---|---|
| Single-threaded | 2 hours 59 minutes |
| Multithreaded | 5 minutes 20 seconds |
Description
A CPU-based ray tracer written and implemented following Peter Shirley’s Ray Tracing in One Weekend series, extended with multithreaded rendering.
Languages
C++
100%
