# 11 Volume Scattering

We have assumed so far that scenes are made up of collections of surfaces
in a vacuum, which means that radiance is constant along rays between
surfaces. However, there are many real-world situations where this
assumption is inaccurate: fog and smoke attenuate and scatter light, and
scattering from particles in the atmosphere makes the sky blue and sunsets
red. This chapter introduces the mathematics that describe how light is
affected as it passes through *participating media*—large numbers of
very small particles distributed throughout a region of 3D space.
These volume scattering models in computer graphics are based on the assumption
that there are so many particles that scattering is best modeled as a
probabilistic process rather than directly accounting for individual
interactions with particles. Simulating the effect of participating media
makes it possible to render images with atmospheric haze, beams of light
through clouds, light passing through cloudy water, and subsurface
scattering, where light exits a solid object at a different place than
where it entered.

This chapter first describes the basic physical processes that affect the
radiance along rays passing through participating media, including the phase
function, which characterizes the distribution of light scattered at a
point in space. (It is the volumetric analog to the BSDF.) It then
introduces transmittance,
which describes the attenuation of light in participating media. Computing
unbiased estimates of transmittance can be tricky, so we then discuss null
scattering, a mathematical formalism that makes it easier to sample
scattering integrals like the one that describes transmittance. Next, the
`Medium` interface is defined; it is used for representing the
properties of participating media in a region of space. `Medium`
implementations provide information about the scattering properties at
points in their extent. This chapter does not cover techniques related to
computing lighting and the effect of multiple scattering in volumetric
media; the associated Monte Carlo integration algorithms and
implementations of `Integrator`s that handle volumetric effects will be
the topic of Chapter 14.