Monte Carlo Path Tracer
Implemented a Monte Carlo path tracer from scratch using only C++. The project avoids the use of libraries and graphics API’s (for the core path tracer) and attempts to implement simple physically based rendering effects from scratch.
Implemented support for various primitive objects and materials and for .obj
meshes; and also incorporated features such as Motion Blur, Antialiasing, Multithreading, a k-D tree based BVH, Disney BSDF and various ideal materials, HDR environment maps, Importance Sampling, Depth of Field etc.
Project also integrates a public denoiser (Intel Open Image Denoise) to help reduce render times.