Noisy | Denoised |
---|---|
Pathtracer implemented together with @Type-0 in the course DAT205 Advanced Computer Graphics at Chalmers University of Technology. In the project we first implemented a Monte Carlo pathtracer running on the CPU using Embree as the ray tracing kernel. It features a shading model composed of multiple linearly blended BRDFs, reflections, shadows (no jaggies) and environment map sampling. This version was later painstakingly ported to the Nvidia Optix ray tracing engine so it would run on the GPU instead. Finally we added support for image denoising to this version using the Nvidia AI Denoiser, a pretrained neural network built for smoothing out image artifacts common during pathtracing.
Not recommended but if you still want to try here are some pointers (also for future me: Hello future William!)
If you want to run the project yourself the easiest way for the Optix version is probably the following
- Start by installing and setting up Nvidia Optix 6.5
- After setting up optix, Place the folder
src\OptixPathtracer
under<Path to Optix 6.5>\SDK
- Add scenes folder to
<Path to Optix 6.5>\SDK
- Add an entry in the Cmakelist.txt and rebuild. The project PathtracerGPU should now appear and be executable along with the other samples for optix
If you instead want to check out the Embree version you should start by
- Setup the project skeleton code by going to the TDA362 Introduction to Computer Graphics course page link
- Replace the contents of the folder
project
with the contents ofsrc\EmbreePatchtracer
. - Set it as the startup project and run