2010-07-27

A personal annotations of Veach's thesis (11) P.67

2.7.2 Russian Roulette

Russian roulette methods is one of sampling techniques. It selects sample path stochastically. This includes stochastic ray termination. The light transport equation is an integral and the equation has several terms. The magnitude of the term depends on the sample. If the term is quite small or the material's reflectance property said one direction is not so probable, sampling such term or direction has less effect, yet still costs the same. But, if we don't sample such term at all, the solution will be biased. Because it is always possible that the light comes from that direction.

Figure 1. Russian Roulette: (a) non-Russian roulette (splitting) ray tracing, sample many directions when sampling a glossy surface, (b1)  Russian roulette sample, sampling only one direction depends on the probability, (b2) Russian roulette stochastic termination (c) a trace path is also chosen and terminated by specific probabilities.

Figure1 (a) is an example of non Russian roulette sampling method (splitting). A glossy surface is affected from incoming light from many directions, therefore we need sample many directions. The method (b1) is a Russian roulette method and only samples one direction per one incoming ray. The direction of sampling decided stochastically. Or like (b2) case, a ray is terminated stochastically. You might say, if only one direction is sampled, how the glossy surface can be described. To see around, we need to cast many rays at each pixel. In the case of (b1,b2), one ray continues to sample only one direction, therefore there is no exponential growth of computational cost. (c) shows a stochastically created path and also it is stochastically terminated.  This is the Russian roulette method. In this method, even when the ray hit a transparent/reflective surface, we sample only one transparent or one reflective direction (or terminated). This method needs a lot of samples for each pixel, but, each path calculation time is not so drastically changed by path.  This is an important technique for an unbiased algorithm.

Acknowledgements:
Thanks to Leo for comments and discussions.