Distributed Ray Tracing

Distributed ray tracing, also called distribution ray tracing and stochastic ray tracing, is a refinement of ray tracing that allows for the rendering of "soft" phenomena.

Conventional ray tracing uses single rays to sample many different domains. For example, when the color of an object is calculated, ray tracing might send a single ray to each light source in the scene. This leads to sharp shadows, since there is no way for a light source to be partially occluded (another way of saying this is that all lights are point sources and have zero area). Conventional ray tracing also typically spawns one reflection ray and one transmission ray per intersection. As a result, reflected and transmitted images are perfectly (and unrealistically) sharp.

Distributed ray tracing removes these restrictions by averaging multiple rays distributed over an interval. For example, soft shadows can be rendered by distributing shadow rays over the light source area. Blurry reflections and transmissions can be rendered by distributing reflection and transmission rays over a solid angle about the "true" reflection or transmission direction. Adding "soft" phenomena to ray-traced images in this way can improve realism immensely, since the sharp phenomena rendered by conventional ray tracing are almost never seen in reality.

More advanced effects are also possible using the same framework. For instance, depth of field can be achieved by distributing ray origins over the lens area. In an animated scene, motion blur can be simulated by distributing rays in time. Distributing rays in the spectrum allows for the rendering of dispersion effects, such as rainbows and prisms.

Mathematically, in order to evaluate the rendering equation, one must evaluate several integrals. Conventional ray tracing estimates these integrals by sampling the value of the integrand at a single point in the domain, which is clearly a very bad approximation. Distributed ray tracing samples the integrand at many randomly chosen points and averages the results to obtain a better approximation. It is essentially an application of the Monte Carlo method to 3D computer graphics, and for this reason is also called stochastic ray tracing.

The term distributed ray tracing also sometimes refers to the application of distributed computing techniques to ray tracing, but because of ambiguity this is more properly called parallel ray tracing (in reference to parallel computing).

Famous quotes containing the words distributed, ray and/or tracing:

    Taking food alone tends to make one hard and coarse. Those accustomed to it must lead a Spartan life if they are not to go downhill. Hermits have observed, if for only this reason, a frugal diet. For it is only in company that eating is done justice; food must be divided and distributed if it is to be well received.
    Walter Benjamin (1892–1940)

    Our reason may prove what it will: our reason is only a feeble ray that has issued from Nature.
    Maurice Maeterlinck (1862–1949)

    And if anyone should think I am tracing this matter too curiously, I, who have considered it in various shapes, can only answer with Hamlet ... “Not a jot”; it being no more than the natural result of examining and considering the subject.
    Sarah Fielding (1710–1768)