Phillip Thomas
Plan:
Algorithmic evaluation issues:
Algorithmic evaluation solutions:
another light
Algorithmic evaluation solutions:
another light
Dusty atmosphere is participating media.
Blade Runner 2049 (2017).
Geometry, textures and environment map by 3D Scan Store
Scene reconstruction and skin shader by Juan Carlos Gutiérrez. Rendered with appleseed.
Light transport implications:
Te Ka, a character from Disney’s Moana (2016).
What are these coefficients \(\alpha_t \in [0,1]\) and quantity \(L_{\text{s}}\)?
Light transport implications:
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
A probabilistic model for computational feasibility!
Efficient Monte Carlo methods for light transport in scattering media. Wojciech Jarosz ( 2008).
Participating media can be represented in a scene as a visible or invisible geometric object.
Physically Based Rendering: From Theory to Implementation.
Matt Pharr, Wenzel Jakob, Greg Humphreys (2017).
Participating media can be represented in a scene as a 3D grid with parameters defined over the space inside it's cells.
Participating media can be represented in a scene as a hierarchical grid structure suited for sparsity.
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
Physically Based Rendering: From Theory to Implementation.
Matt Pharr, Wenzel Jakob, Greg Humphreys (2017).
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
\( \sigma_a (\text{p}, \omega):\) the "probability density" that light is absorbed per unit distance traveled in the medium.
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
Physically Based Rendering: From Theory to Implementation.
Matt Pharr, Wenzel Jakob, Greg Humphreys (2017).
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
\( L_e (\text{p}, \omega):\) the amount of radiance emitted per unit distance travelled in the medium.
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
\( \sigma_s (\text{p}, \omega):\) the probability density that light is scattered per unit distance travelled in the medium.
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
Physically Based Rendering: From Theory to Implementation.
Matt Pharr, Wenzel Jakob, Greg Humphreys (2017).
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
\( \sigma_\text{s}(\text{p},\omega) \times \int_{\mathcal{S}^2} p(\text{p}, \omega', \omega)L_\text{i}(\text{p},\omega')\text{d}\omega'\)
the amount of light redirected into the ray from all possible directions on the sphere times the probability of scattering per unit distance travelled.
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
\( L_\text{s}(\text{p},\omega) = L_\text{e}(\text{p}, \omega) + \sigma_\text{s}(\text{p},\omega) \times \int_{\mathcal{S}^2} p(\text{p}, \omega', \omega)L_\text{i}(\text{p},\omega')\text{d}\omega'\)
Things that can happen when our infinitesimal ray of light travels through a spatial region with participating media:
\( \sigma_t(\text{p}, \omega) = \sigma_a(\text{p}, \omega) + \sigma_s(\text{p}, \omega) \),
the attenuation or extinction coefficient.
\( L_\text{s}(\text{p},\omega) = L_\text{e}(\text{p}, \omega) + \sigma_\text{s}(\text{p},\omega) \times \int_{\mathcal{S}^2} p(\text{p}, \omega', \omega)L_\text{i}(\text{p},\omega')\text{d}\omega'\)
Physically Based Rendering: From Theory to Implementation.
Matt Pharr, Wenzel Jakob, Greg Humphreys (2017).
where \( L_\text{s}(\text{p},\omega) = \sigma_\text{s}(\text{p},\omega) \int_{\mathcal{S}^2} p(\text{p}, \omega', \omega)L_\text{i}(\text{p},\omega')\text{d}\omega'\)
Homogenous media:
Heterogeneous media (delta tracking for sampling distance):
\(t_1 = t_{\text{min}}\)
while(true):
\(t_i = t_{i-1} - \frac{\ln(1-\xi_1)}{\sigma_{t,\text{max}}} \)
if (\(t_i > t_\text{max}\)):
break
if(\(\frac{Density(ray(t_i))}{maxDensity} > \xi_2\)):
initialise interaction
Physically Based Rendering: From Theory to Implementation.
Matt Pharr, Wenzel Jakob, Greg Humphreys (2017).
Heterogeneous media
(ratio tracking for sampling transmittance):
\(T_r = 1\)
\(t_1 = t_{\text{min}}\)
while(true):
\(t_i = t_{i-1} - \frac{\ln(1-\xi_1)}{\sigma_{t,\text{max}}} \)
if (\(t_i > t_\text{max}\)):
break
if(\(\frac{Density(ray(t_i))}{maxDensity} > \xi_2\)):
\(T_r = T_r * \big( 1- \frac{Density(ray(t_i))}{maxDensity} \big) \)
For example Henyey-Greenstein phase function: