next up previous contents index
Next: Properties of the Volume Up: The Volume Rendering Integral Previous: The Volume Rendering Integral   Contents   Index


Derivation of the Volume Rendering Integral

Figure 1.1: An example of an illuminated volume.
\includegraphics[bb=190 483 474 635,width=4.5in,clip=true]{vri/volume}

Consider a translucent volumetric cloud such as the one depicted in Figure 1.1. What contributes to the color of the cloud? Some light originating from behind the cloud may pass right through it, although the cloud will most likely attenuate the light. Light may originate from within the cloud itself if the cloud contains glowing material. The cloud may diffusely reflect light of other sources from within. The diffuse reflection can disperse the light through the volume causing a scattering effect.

We start by modeling the volume as a space filled with minute particles. Each particle is opaque and occludes light waves, but is itself too small to see individually. In addition to occluding light, each particle emits light also. The emitted light may be an energy generated by the particle itself, such as from a glowing ember, or light diffusely reflected from a different particle or another light source. We treat either case the same, thereby abstracting away the diffuse emission calculation.

Let us pause a moment to consider the ramifications of the previous statement. By neglecting to consider the effects of diffuse lighting, we potentially miss important lighting effects. We are not taking into account shadowing, the attenuation of light between a particle and a light source. We are neglecting multiple scattering, the illumination of a particle by light rays reflected off other particles, also. We use the approximation to make the calculation more tractable by considering only light that passes directly between a particle and the viewpoint. Because the approximation allows volume rendering to occur at interactive rates and the shadowing and scattering effects do not necessarily make scientific visualization clearer [71], this approximation has been used extensively in volume visualization since Sabella introduced it in 1988 [83].

Furthermore, although the model we describe does not calculate shadowing or scattering directly, it still allows us to do such calculations. Recall that the model allows each particle to give off any amount of light energy. If we compute the total light energy generated by the particles and reflected off the particles in a secondary calculation, we can plug the result into the particle emission parameter of this model. This approach of using two or more simplified models to generate multiple lighting effects has already proved to be an effective approach to performing shadowing and scattering with opaque surfaces [10,18,41,85]. In fact, many recent approaches to global volume illumination [19,37,48,51,112,113] perform a two-step approach of first computing particle colors and then integrating ray segments.

Figure 1.2: Particle model of volumetric rendering.
\includegraphics[bb=40 563 578 628,clip=true,width=.75\linewidth,height=1.5in,keepaspectratio=true]{vri/particle_model} \includegraphics[bb=230 164 382 427,clip=true,width=.2\linewidth,height=1.5in,keepaspectratio=true]{vri/particle_model}
(a) A cylindrical cutout of the volume (b) A disk of length $ \Delta s$.

By considering only local lighting effects, we can simplify our analysis of volumetric lighting computations by taking into account only a single long cylinder centered on the viewing ray that passes through the volume as shown in Figure 1.2(a). The cylinder is thin enough to assume that volume properties do not change across its breadth, but they may (and probably will) change across its length. At the back end of the cylinder, background light comes in, and at the front end of the cylinder, light exits and travels to the user's eye. The light intensity coming from the front end of the cylinder will determine the color value of one pixel.

Let the cross sectional area of the cylinder be $ E$. Now consider a thin slab of this cylinder whose base is also of area $ E$ and whose length is $ \Delta s$. As shown in Figure 1.2(b), as light rays pass through this disk, particles obstruct some rays whereas other rays pass straight through. Still other light rays originate from particles in the disk. Let $ A$ be the cross sectional area of each particle, $ \rho$ be the density of particles per unit volume, and $ L$ be the light emission of the particles per projected area in the direction of the ray. Both $ \rho$ and $ L$ may vary over the volume. Each disk has volume $ E \Delta s$, and therefore contains $ N =
\rho E \Delta s$ particles.

As $ \Delta s$ approaches zero, the overlap of particles becomes zero. At this point, the area of the cylinder obscured by particles is $ A
N = A \rho E \Delta s$. The fraction of light occluded when flowing through the disk (i.e. the fraction of cross sectional area with particles in it) is $ A N / E = A \rho \Delta s$. Let us define the attenuation coefficient $ \tau = A \rho$, which expresses the expected amount of incoming light that is extinguished per unit length (given negligible particle overlap).

In addition to absorbing light, the particles emit light with intensity $ L$ per projected area. $ L$ expresses the luminance (per wavelength) of the volume. The light emission of each particle is, therefore, $ LA$, and the overall light emission within the disk is $ LA N = LA
\rho E \Delta s$. The light emitted from the disk goes through the base of area $ E$, so the light emitted per unit area is $ LA \rho \Delta s
= L\tau \Delta s$.

Given these parameters of the volume density, we can express the behavior of the intensity of a ray of light through the volume as

$\displaystyle \frac{dI}{ds} = L(s) \tau (s) - I(s) \tau (s)$ (1)

That is, the change in intensity of the light ray, $ I(s)$, as it passes through the volume is equal to the light emitted from the cross section at $ s$ minus the amount the incoming light is attenuated. We can solve this differential equation as follows. First, we bring the $ I(s)
\tau (s)$ term over to the right hand side.

$\displaystyle \frac{dI}{ds} + I(s) \tau (s) = L(s) \tau (s)$    

Then we multiply both sides by $ \exp\left(\int_0^s \tau (t) dt
\right)$.

$\displaystyle { \frac{dI}{ds} e^{\int_0^s \tau (t) dt} + I(s) \tau (s) e^{\int_0^s \tau (t) dt} }$ $\displaystyle { = L(s) \tau (s) e^{\int_0^s \tau (t) dt} }$    
$\displaystyle { \frac{d}{ds}\left(I(s)\right) e^{\int_0^s \tau (t) dt} + I(s) \frac{d}{ds}\left(e^{\int_0^s \tau (t) dt}\right) }$ $\displaystyle { = L(s) \tau (s) e^{\int_0^s \tau (t) dt} }$    
$\displaystyle { \frac{d}{ds}\left(I(s) e^{\int_0^s \tau (t) dt} \right) }$ $\displaystyle { = L(s) \tau (s) e^{\int_0^s \tau (t) dt} }$    

Finally, we integrate everything from $ s = 0$ at the back end of the volume to $ s = D$ at the eye,

$\displaystyle { I(D) e^{\int_0^D \tau (t) dt} - I_0 = { \int_0^D L(s)\tau (s) e^{-\int_s^D \tau (t) dt} ds } }$    

and do one last rearrangement of terms.

$\displaystyle { I(D) = I_0 e^{-\int_0^D \tau (t) dt} + { \int_0^D L(s)\tau (s) e^{-\int_s^D \tau (t) dt} ds } }$ (2)

We call this equation the volume rendering integral. An examination verifies that Equation 1.2 appeals to our intuitive sense of what happens to light as it passes through a translucent volume. The first term calculates the amount of incoming light, $ I_0$, that reaches the end of the volume. We see that the incoming light attenuates exponentially with length $ D$, just as we observe from objects at various distances on a foggy day. The second term adds the amount of light emitted at each point along the ray, taking into account the amount of attenuation from each point to the end of the ray.


next up previous contents index
Next: Properties of the Volume Up: The Volume Rendering Integral Previous: The Volume Rendering Integral   Contents   Index
Kenneth D Moreland 2004-07-16