<p>I suspect the answer to (a) is simply performance. Full volumetric path tracing / photon mapping based on the RTE can certainly be done (and I'm sure it sometimes is), but it's very expensive and requires enormous numbers of samples to converge to a noise-free result.</p>

<p>This is especially true when the scattering medium is very dense, like in human skin and hair, or materials like milk, plastic, marble, or jade. In such materials, the light scatters so quickly that it's essentially isotropic after a couple of millimeters, so a BSSRDF is a very good approximation to the true volumetric scattering, and far cheaper to evaluate. (Performance matters even for offline rendering!) A mixture of volumetric simulations and empirical data might be used to derive and validate the BSSRDF.</p>

<p>As for how the coefficients are measured, one technique I've read about is to shine a narrow, bright beam of light (like a laser pointer) onto the material, then measure the light scattered back out using photosensors placed at different distances from the incident point. By processing this data you can then get an estimate of the scattering coefficients. <a href="http://www.merl.com/publications/docs/TR2005-046.pdf" rel="nofollow noreferrer">This paper</a> shows a sensor based on this idea being applied to human skin, and <a href="http://gfx.cs.princeton.edu/pubs/Donner_2008_ALH/donner08hskin.pdf" rel="nofollow noreferrer">this one</a> has more details about setting up a sophisticated (multi-layer) BSSRDF based on empirical data.</p>

CC BY-SA 4.0
2018-06-19T03:16:57.690Z
As I understand it BSSRDFs work especially well when the scattering is small scale, ie high scattering coefficients. For air/water/glass it's often sufficient to do single scattering in a path tracer and leave multiple scattering out of it (which is biased but, again, often good enough). For cases where you can't ignore the multiple scattering, I don't know of a better approach than full volumetric path tracing or volumetric photon mapping.
Nathan Reed
CC BY-SA 4.0
2018-06-18T21:00:29.777Z
2018-06-18T21:00:29.777Z
Nathan Reed
<p>I've recently become interested in photorealistic rendering, and I've been looking at the different rendering philosophies. I read this <a href="https://benedikt-bitterli.me/bachelor-thesis.pdf" rel="noreferrer">Disney Research bachelor's thesis</a>, which states both the radiative transfer equation (RTE)</p>

<p>$(\vec{w}\cdot\nabla)L(\vec{x},\vec{\omega}) = -(\sigma_{a}+\sigma_{s})L(\vec{x},\vec{\omega})+Q(\vec{x},\vec{\omega})+\sigma_{s} \int_{\Omega}L(\vec{x},\vec{\omega})\rho(\vec{\omega},\vec{\omega}')d\vec{\omega}'$</p>

<p>and that </p>

<blockquote>
  <p>Exact BSSRDFs follow trivially from exact solutions to the RTE.
  Unfortunately, closed form solutions of the RTE for general 3D
  geometry, illumination and materials are rare, which motivates
  analysis on simplified, lower dimensional domains.</p>
</blockquote>

<p>But most shaders use BSSRDF's and(/or?) the Rendering Equation instead, even high-end shaders like Disney's Hyperion, even though the <a href="https://en.wikipedia.org/wiki/Rendering_equation" rel="noreferrer">Rendering Equation</a> supposedly doesn't take into account sub-surface scattering, polarization, etc..</p>

<p>So my two questions are <strong>a)</strong> what is the reason for not using the radiative transfer equation for photorealistic rendering (or an approximation like the skin-shaders used for Big Hero and Moana), and <strong>b)</strong> how are the parameters like the phase functions and coefficients found for different materials like skin, hair, water, metal, glass?</p>

<rendering><shader><computational-geometry><brdf><photo-realistic>
Radiative Transfer Equation for Photorealistic Rendering
BJParks
# Radiative Transfer Equation for Photorealistic Rendering

(Asked by: username_0 on 2018-06-18)

I've recently become interested in photorealistic rendering, and I've been looking at the different rendering philosophies. I read this [Disney Research bachelor's thesis](https://benedikt-bitterli.me/bachelor-thesis.pdf), which states both the radiative transfer equation (RTE)

$(\vec{w}\cdot\nabla)L(\vec{x},\vec{\omega}) = -(\sigma\_{a}+\sigma\_{s})L(\vec{x},\vec{\omega})+Q(\vec{x},\vec{\omega})+\sigma\_{s} \int\_{\Omega}L(\vec{x},\vec{\omega})\rho(\vec{\omega},\vec{\omega}')d\vec{\omega}'$

and that

> Exact BSSRDFs follow trivially from exact solutions to the RTE.
> Unfortunately, closed form solutions of the RTE for general 3D
> geometry, illumination and materials are rare, which motivates
> analysis on simplified, lower dimensional domains.

But most shaders use BSSRDF's and(/or?) the Rendering Equation instead, even high-end shaders like Disney's Hyperion, even though the [Rendering Equation](https://en.wikipedia.org/wiki/Rendering_equation) supposedly doesn't take into account sub-surface scattering, polarization, etc..

So my two questions are **a)** what is the reason for not using the radiative transfer equation for photorealistic rendering (or an approximation like the skin-shaders used for Big Hero and Moana), and **b)** how are the parameters like the phase functions and coefficients found for different materials like skin, hair, water, metal, glass?

**Tags:** rendering, shader, computational-geometry, brdf, photo-realistic


---

## 1 answers

### Answer by username_1 on 2018-06-18. Score: 3 | Accepted answer

I suspect the answer to (a) is simply performance. Full volumetric path tracing / photon mapping based on the RTE can certainly be done (and I'm sure it sometimes is), but it's very expensive and requires enormous numbers of samples to converge to a noise-free result.

This is especially true when the scattering medium is very dense, like in human skin and hair, or materials like milk, plastic, marble, or jade. In such materials, the light scatters so quickly that it's essentially isotropic after a couple of millimeters, so a BSSRDF is a very good approximation to the true volumetric scattering, and far cheaper to evaluate. (Performance matters even for offline rendering!) A mixture of volumetric simulations and empirical data might be used to derive and validate the BSSRDF.

As for how the coefficients are measured, one technique I've read about is to shine a narrow, bright beam of light (like a laser pointer) onto the material, then measure the light scattered back out using photosensors placed at different distances from the incident point. By processing this data you can then get an estimate of the scattering coefficients. [This paper](http://www.merl.com/publications/docs/TR2005-046.pdf) shows a sensor based on this idea being applied to human skin, and [this one](http://gfx.cs.princeton.edu/pubs/Donner_2008_ALH/donner08hskin.pdf) has more details about setting up a sophisticated (multi-layer) BSSRDF based on empirical data.

> **Comments:**
> **username_1**: As I understand it BSSRDFs work especially well when the scattering is small scale, ie high scattering coefficients. For air/water/glass it's often sufficient to do single scattering in a path tracer and leave multiple scattering out of it (which is biased but, again, often good enough). For cases where you can't ignore the multiple scattering, I don't know of a better approach than full volumetric path tracing or volumetric photon mapping.  

---

