Wrote a path tracer for CS2240 Interactive Graphics grad seminar with John "Spike" Hughes at Brown University, Spring 2017. An implementation of Monte Carlo path tracing, with Russian Roulette termination, with stratified sampling and image-based lighting. Handles recursive tracing, reflection, refraction, full global illumination (with color bleeding and caustics), and traces by splitting direct and indirect contributions at each bounce in the path.
Written in C++ and GLSL with OpenGL, G3D, and QtCreator.
Spring 2017. Filed under Computer Graphics, Code.