This is a path tracer completed by Dewei XU in Shanghai Jiao Tong University. It is a project based on personal interest in computer graphics. The main components of this projects are cpp files realizing graphics algorithms and ray-related classes. It will sample N rays in each pixel and trace the ray recursively. Meanwhile, I employed OpenCV to make an interface for my program. And I found NLMeans denoise algorithms works ideally for denoising the noise resulting from Monte-Carlo algorithms.
You can check the image produced by my path tracer in ./image_history.