GPU-Accelerated Path Tracer
This is a work-in-progress CUDA implementation of a path tracer, largely based on Peter Shirley’s Ray Tracing in One Weekend series of tutorials plus other resources.
Features currently implemented are:
- Materials: Difuse, Metallic Dielectric and Emissive.
- Area lights.
- Bounding Volume Hierarchy (BVH) partitioning.
- Depth of Field.
- Geometry: spheres and planes.
Future features will include:
- Arbitrary geometry (i.e.: FBX, OBJ).
- Probabilistic sampling.
- Deep-Learing-based supersampling.
For more details see here
The CUDA version is implemented as a Visual Studio 2019 project and requires CUDA Toolkit 10.2 for cuda, curand and a couple things from the thrust library.
There is also a CPU-only implementation closely following Shirley's Ray Tracing in One Weekend as an Xcode project for MacOS. This version only requires glm (included in the Xcode folder) for some SIMD / broadcasting operations.
The CPU-only version does not implement emissive materials nor plane geometry and will not be further updated.
Clone the repo and compile the Visual Studio (for CUDA) or Xcode project. Then run it!
- Peter Shirley - Ray Tracing in One Weekend
- UC Berkeley CS184 slides
- Stanford CS148: Reflections and Refractions notes