Participating Media Physics

Let us take a look at the physics of how light behaves in a participating medium



Absorption is how the radiance is reduced because light absorbed and converted into other forms of energy such as heat.

The absorption cross section, \sigma_a\;[m^{-1}] describes the probability that light gets absorbed in the medium, typically varying with position p and sometimes also direction w.

Emission is how the radiance is increased due to particles that emit light. One very obvious example of this is fire where the oxidation process gives off energy in a so called exothermic reaction.


Scattering is how light collides with particles inside a medium and changes direction. Depending on the sizes of particles inside the medium either Rayleigh scattering or Mie scattering predominates. Rayleigh scattering describes how light scatters when the particles are much smaller than the wavelength \lambda, so phenomena like clouds or smoke can typically be modelled by Mie scattering.

Consider a point, x, along a ray within some participating media. There are two main types of scattering events namely out-scattering and in-scattering.Out-scattering reduces the total radiance carried along the ray due to light deflected in different directions. In-scattering raises the radiancel, other rays are out-scattered and thus lowers the total radiance.


Out-scattering is determined by the scattering coefficient, \sigma_s, which is the probability of out-scattering per unit distance:

dL_0(p,w) = -\sigma_s(p,w)L_i(p,-w)ds

The combined loss of radiance due to both absorption and out-scattering is referred to as attenuation. The two constants are commonly combined into an attenuation constant, \sigma_t = \sigma_a + \sigma_s.


The change of radiance can now be describes as

\frac{dL_o{p,w}}{dt} = -\sigma_t(p,w)L_i(p, -w)

The extinction equation, how much radiance is transmitted between two points distance S, apart can now be derived:

T_r(p \rightarrow p') = e^{-\int_{0}^{S}\sigma_t(x)ds}

note: The transmittance is multiplicative: T_r(p\rightarrow p'') = T_r(p\rightarrow p')T_r(p'\rightarrow p'')

note: The transmittance is 1 (no attenuation) in a vacuum: T_r(p\rightarrow p') = 1


The optical thickness, \tau,between two points in a material is the negated exponent in the beam transmittance:

\tau(p\rightarrow p') = \int_{0}^{S}\sigma_t(p+tw, w)ds

When the medium in homogeneous the attenuation is constant yielding an optical thickness of \tau(p\rightarrow p') = \int_{0}^{S}\sigma_t(x)ds = \sigma_{t}d, which in turn yields Beer’s law for transmission:

T_r(p\rightarrow p') = e^{-\sigma_{t}d}


In-scattering is light that scatters from other directions in the view direction. The added radiance per unit distance from in-scattering and emission is described as follows:

dL_0(p) =  L_e(p) + \int_{\delta^2}\rho(w, ')L_i(p)dw' ds

where the added radiance is a spherical integral of the phase function times the incident radiance L_i(p,w'). The in-scattering is the product of all added radiance and the scattering probability \sigma_s.



The albedo of the medium is the ratio the scattering and extinction probabilities: \rho = \sigma_a / \sigma_t.

Phase Functions are analogues to the Bidirectional Scattering Distribution Function, describing the probability distribution of light from a particular direction w scattering in another particular direction w'.

The normalization constraint tells us that a phase function integrates to 1 the whole sphere:

\frac{1}{2\tau}\int_{\delta^2}P(w \rightarrow w')dw'

By averaging the cosine of a phase function we can retrieve the preferred scattering direction g:

g=\int_{\delta^2}P(p', w \rightarrow w')cos(w')dw'


The Henyey Greenstein phase functions are simpler, analytical, phase functions:

P(w') = \frac{1-g^2}{4\pi(1+g^2-2gcos(w'))^{3/2}}


The Schlick phase function is a simpler version which gets rid of the costly 3/2 exponent:

P(w') = \frac{1-k^2}{4\pi(1+kcos(w'))^2}



The Transfer Equation

We can now derive a radiative transfer equation which describes the total change of radiance for light travelling in a participating medium. It is the sum of things that add to the radiance, in-scattering and emission, and the things that reduces the radiance, out-scattering and absorption.

Consider a ray that has bounced of a surface at O, travelling through a participating medium towards the viewer at C.


The outgoing radiance in direction w from O is L_O which is attenuated in the medium according to the extinction equation. The added radiance is the in scattering which is the sum of all light’s radiance which are also attenuated in the medium.


L_C = T_r(O \rightarrow C)L_O + \int_{0}^{S}T_r(xs \rightarrow C)\sigma_t(x_s)L_{scat}(x_s)ds

L_{scat} = \rho \sum_{i=0}^{nlights}P(w_i, w)V(x_s, w_i)L_i(x_s, w)







Anisotropic Scattering:

Spherical Harmonics:

Contextualize, introduce visibility function:

Single Scattering Formulation: