Sunday, June 23, 2013
Bidirectional Path Tracing and Metropolis Light Transport
During my last semester at Penn I implemented bidirectional path tracing and Metropolis light transport (MLT). My bidirectional path tracing implementation is based on Eric Veach's PhD thesis and includes all of the possible sampling techniques (including the more difficult cases such as when the light subpath intersects the sensor), complete multiple importance sampling (MIS), and a variety of other optimizations. I implemented Kelemen-style MLT on top of bidirectional path tracing. I also implemented some new BSDFs, including the Disney "principled" BSDF, and I improved my implementation of the microfacet BSDF for transmission through rough surfaces. I implemented all of these things in a separate, streamlined version of Photorealizer. Now I have two separate renderers, which I would like to merge together at some point.