Skip to content

Athosvk/ArtifactRT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ArtifactRT

A CPU Raytracer based on Peter Shirleys Ray Tracing in One Weekend that has been slightly iterated upon, primarily in terms of performance.

Optimizations

The original implementation has been optimized on quite a bit. Making things linear in memory, non-virtual etc. is showcased through the test scene from the sample image. Some superficial timings (measured on Intel i7-11800H with clang 19.1.5):

Original implementation runtime: ~79 seconds.

With optimizations (no BVH): ~1.1 second.

Additionally, a small multi-threaded job system is added to make the path tracer run over n-1 cores. Enabling the job system through setting Concurency in Main.cpp will reduces execution time by another factor 10 on tested CPU (timing needs verification due to overheating).

File formats

While the original tutorial only writes to PPM, I find it a painful format for viewer compatibility, so the output can also be written to png (as per the example) using libspng.

About

Small ray-tracer, based on Ray Tracing In One Weekend

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages