We’re rewarding the question askers & reputations are being recalculated! Read more.

This is a very good question. There is a common misconception that Monte Carlo, or integration is applied "recursively" on the rendering equation. That is not what's happening. Numerical integration methods are tailored to problems of the form: $$I = \int_{\Omega}{f(x)d\mu(x)} \approx \sum_{k=0}^{N-1}w(x_k)f(x_k)$$ Note that this is not the case for the ...


Throughout my answer I'll sometimes refer to some results in https://sites.fas.harvard.edu/~cs278/papers/veach.pdf by using [MIS,section_number]. You can skip the following derivation if you don't care about the mathematical explanation of why using MIS to combine estimators is valid. I'll have to start with what the purpose of MIS is. The general idea is ...


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.


During the implementation, the way rays are scattered does not actually change and remains random. Actually the way rays are scattered does change, specifically when you sample a light. In chapter 8 he makes a mixture pdf in order to sample either the light or the bsdf. What changes looks to be the contribution of each ray. This does change, but not ...

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