Saturday, August 11, 2012
Multiple Importance Sampling
Having a simple Maya integration makes setting up scenes about a million times easier. I enjoy plotting in transformation matrices by hand as much as the other guy, but at some point you just want to create a sphere, attach a shader and hit render. With this new found freedom I set up a couple of test scenes to start implementing MIS, and quickly found I had a couple of subtle bugs in my light transport implementation. Cancelling out terms is all well and good until you need to sample the pdf outside of evaluating the brdf itself..
The result of this week is an implementation of a Kelemen material, with a coupling of a cook torrance spec and matte brdf, plus Multiple Importance Sampling for my forward path tracer.
The result, courtesy of the somewhat standard contrived setup (area lights at increasing size, planes with spec brdf at increasing roughness), at 64 samples per pixel: