Today I finally got a verifably correct implementation of direct lighting MIS. Here're two comparison images, each at 5spp. There's a large area light, and the surface is glossy Phong with a 100000 exponent (very hard for light sampling)
|
MIS (5 spp) |
|
No MIS (5 spp) |
My original MIS implementation randomly selected either light sampling or brdf sampling. While it kind of worked, it did introduce a lot more variance into the image. The current MIS implementation reuses the surface's indirect brdf sample as the light's brdf sample.
And here's a render of the Cornell box.
|
Glossy Cornell box (800 spp) |
|
Reference rendered in Maxwell |
Results will be much noticeable if you will use Veach's example scene. :) ;) Here is my implementation with full source code:
ReplyDeletehttps://www.shadertoy.com/view/4sSXWt