2

Sorry about leaving it for so long but I was so busy implementing the goddamn algorithm, I forgot about this :) So after reading up on Veach's thesis pretty closely, I understood what was going on. First of all Veach's thesis describes about BDPT using MIS. However I implemented without MIS using the techniques described in the original Lafortune's paper. ...


2

For a fixed strategy, you can end up consuming a different number of samples depending on your mutation. This can happen for at least two reasons. If your perturbation changes some material along the path to, say, a multi-lobe BSDF, you would need more samples to account for the lobe choice. This would shift everything by the number of extra samples used. If ...


1

The summation doesn't include the BxDF that was picked for sampling. Look again at this line: if (bxdfs[i] != bxdf && bxdfs[i]->MatchesFlags(type)) Here bxdf is the one that was sampled earlier, so when it iterates to that one it skips it.


Only top voted, non community-wiki answers of a minimum length are eligible