SYCL Path Tracer
C++ & SYCL Monte Carlo Path Tracer
Path tracing engine written in C++. This project was initially written using SYCL. SYCL is a standard written by the Khronos Group that allows one C++ code to be ran on multiple devices including CPUs, GPUs and even FPGA accelerators. Unfortunately, I have been facing issues (discussions with Intel can be found here and here) with SYCL that lead me to reimplement it in pure C++ (the task was pretty much effortless as a SYCL code is already very close to pure C++).
This project has been superseded by my HIPRT-Path-Tracer written with the HIPRT GPU Ray Tracing API and largely expanded in functionalities.
Features
- Direct lighting
- Indirect lighting
- Microfacet BRDF (Cook Torrance BRDF) : Roughness and metallic
- Cook Torrance BRDF Importance Sampling
- HDR Environment Map
- Environment Map Importance Sampling
- Multiple Importance Sampling
- Tone mapping HDR (gamma and exposition)
- Octree based BVH + 7 planes bounding volumes
- Linear BVH adapted for GPU computations
- Intel® Open Image Denoise integration
Github
This project is open-source on Github: SYCL Path Tracer