**Hybrid algorithms** combine the classical radiosity and classical ray tracing [Gla95].
These algorithms are usually called **multipass methods**
because typically they are implemented by a sequence of radiosity
and ray tracing steps. The hybrid algorithms try to exploit that the strengths
and weaknesses of radiosity and ray tracing are complementary.

The classical ray-tracing method is a very simple way of photorealistic rendering, which does not need a meshing or other pre-processing of the scene. Rays are traced backward from the viewpoint through the pixels of the image plane. The colour of the appropriate pixel is computed according to the ray-object interactions.

Strengths of ray tracing:

- the illumination is computed anew for each shading point, when no light sources are seen from a point it falls automatically into shadow,
- applying spot lights the shadows will be sharp,
- specular reflection and refraction are easily captured, since the proper illumination directions are evaluated.

Weak spots of ray tracing:

- indirect illumination information is very expensive to evaluate,
- significant light sources can be missed if they are not luminaries themselves,
- illumination from multiple diffuse reflections is prohibitively costly,
- view-dependence, whenever the viewpoint or the viewing direction is changed the whole computationally expensive rendering process must be repeated.

Classical radiosity is a finite-element method for solving the rendering equations. This method requires a meshing of the scene, which produces several artefacts. On the other hand, after the radiances of different surface elements (patch) have been computed once the scene can be rendered efficiently from different viewpoints.

Strengths of radiosity:

- efficient evaluation of indirect illumination, particularly that produced by multiple diffuse reflection,
- soft shadows and colour-bleeding (diffuse reflection of one coloured patch influences the colour of another patch),
- each radiated source is considered as first-class light source and each patch is evaluated by the energy it radiates, not its diffuse or specular characteristic,
- view-independence, precomputing the shading and storing its results with the model of the scene, it can be efficiently rendered from arbitrary viewpoint and direction.

Weak spots of radiosity:

- due to the meshing that is the heart of the radiosity technique: the resolution of mesh limits the granularity of the representation of the radiance signal so high frequency details are missed,
- the resolution of the mesh determines the precision of the incident illumination and propagated light.

Heckbert introduced a regular expression formalism which is for describing the chain of ray-object interactions like reflections or refractions etc [Gla95][Hec91]. The different rendering algorithms can be characterised by the group of such regular expressions representing the type of the ray-object interaction sequences which are modelled by the given algorithm. Emission of a photon from a light source is written L, and absorption at the eye (or intersection with the image plane) is written E. Along a way from L to E the photon may be speculary reflected or transmitted (written as S), or diffusely reflected or transmitted (written as D). In the sequence the first letter is L and the last one is E, and standard computer-science regular expressions can be used between them. Subexpressions may be grouped in parentheses, an asterisk superscript * represents 0 or more repetitions. A term in square brackets is optional (it may be included or not).

Classical ray tracing only models specular reflections and transmissions (both represented by the letter S), so it can be described as modelling L[D]S*E paths. This characteristic expression can generate four different types of strings, representing the different light paths that can be captured by classical ray-tracing model: LE, LDE, LS*E and LDS*E. After reaching a diffuse surface only the direct illumination is gathered at this point, so classical ray tracing does not model the multiple diffuse reflections or refractions.

Ray tracing has two alternatives **photon tracing** and
**visibility ray tracing** [Gla95].
In photon tracing (forward tracing) the rays are emitted from the light sources
while in visibility ray tracing (backward tracing) rays are emitted from the
viewpoint. In both methods rays are traced until they reach a diffuse
surface (unless they leave the environment),
so child rays are only generated (and traced recursively) when the given ray
hits a specular surface. The main difference between these two alternatives is
that visibility tracing models paths L[D]S*E and photon tracing models paths
LS*[D][E]. In the second case the E is optional because paths do not necessary
end at the eye.

The combination of photon tracing and visibility ray tracing is called
**bi-directional ray tracing**, because rays are traced in both directions
[Gla95][Arv86][CF87][Hec91].
Bi-directional ray-tracing algorithms model the paths LS*[D]S*E. This is not
quite the full range of possible expressions, but it is more then either
algorithm can produce alone.

**Distributed ray tracing** suggested by Cook [CPC84] can
in theory model all the possible paths represented by L(S|D)*E.
In this method the tracing of rays is not terminated reaching
a diffuse surface. For modelling multiple diffuse reflection and refraction the
Monte Carlo techniques are used. After a ray has hit a diffuse surface child rays
are generated randomly according to the BRDF (bi-directional
reflection/refraction distribution function) characterising the surface.
For appropriate estimation of multiple diffuse illumination several child rays
have to be traced computing the average of their contributions. This approach
is the direct use of Monte Carlo technique, since it samples the signal
represented by incident light on the shading point.

Another Monte Carlo approach proposed by Kajiya is **path tracing**
[Kaj86]. This method
simply creates a path history for a single particle interacting with the
environment until absorption. That is, rather than spawn new rays at an
intersection, we simply choose a random direction according to the BRDF for the
one ray to follow.

In the following, ray-tracing methods are reviewed which are based on the Monte Carlo or quasi-Monte Carlo integration techniques.

Tue Apr 15 18:39:13 METDST 1997