Transparency Physics

rendering_equationTo handle lighting in 3D rendering it’s needed to have a understanding of the physics behind light and a model of the reflection, refraction and absorption of light. The reflection is described by the BRDF and the refraction by the BTDF.

Physical Notation
Radiant flux is the amount of radiant power measured in watt (\text{W}) and denoted \Phi.
Irradiance is the incoming amount of radiant power over a surface and is measured in watt per square meter (\text{Wm}^{-2}).

    \[E(x)=\frac{d\Phi(x)}{d A(x)}\]

Radiance is the amount light that is received from a solid angle d\vec{\Phi}^\bot. This can be seen as the amount of light that is reflected, emitted, transmitted from a point on a surface and hits an observer, e.g. the eye. It’s measured in watt per solid angle per square meter (\text{Wsr}^{-1}\text{m}^{-2}).

    \[L(x, \vec{\omega})=\frac{d^2\Phi(x,\vec{\omega})}{d\vec{\Phi}\;dA^{\bot}(x)}\]

Bidirectional Reflectance Distribution Function (BRDF)
The BRDF is a function (f_r(x, \vec{\omega}_i \rightarrow \vec{\omega}_o)) which takes a point x at a surface, the incoming direction vector \vec{\omega}_i of light, the outgoing direction vector \vec{\omega}_o of light and returns the amount of light reflected in the outgoing direction. The incoming and outgoing vector must be part of a normal oriented hemisphere (\Omega).

Bidirectional Transmittance Distribution Function (BTDF)
The BTDF is closely related to BRDF  (f_t(x, \vec{\omega}_t \rightarrow \vec{\omega}_o)) but where the outgoing direction vector \vec{\omega}_o must be on a negative normal oriented hemisphere. The function gives the amount of light transmitted through the material.

Transparency Model
In real time rendering a simplified model is usually used. The BTDF function is usually set to only transmit light in the opposite direction of the incoming light. In reality the light also scatter in the transport medium, this effect is mostly ignored unless it has a large impact on the result, like in fog like effects.

The Rendering Equation
The rendering equation gives to total light going from a point of a surface into an observer. L(x\rightarrow \vec{\omega}): Outgoing radiance from the point x in the direction \vec{\omega}. L(x\leftarrow \vec{\omega}): Incoming radiance to the point x from the direction \vec{\omega}.

    \begin{align*} \underbrace{L(x\rightarrow \vec{\omega}_o)}_\text{outgoing} &= \underbrace{L_e(x\rightarrow \vec{\omega}_o)}_\text{emitted} + \underbrace{L_r(x\rightarrow \vec{\omega}_o)}_\text{reflected} + \underbrace{L_t(x\rightarrow \vec{\omega}_o)}_{transmitted}\\ L_r(x\rightarrow \vec{\omega}_o) &= \int_{\Omega} f_r(x, \vec{\omega}_i \rightarrow \vec{\omega}_o)\;L(x\leftarrow \vec{\omega}_i)\;(\vec{n} \bullet \vec{\omega}_i)\;d\vec{\omega}_i\\ L_t(x\rightarrow \vec{\omega}_o) &= \int_{-\Omega} f_t(x, \vec{\omega}_t \rightarrow \vec{\omega}_o)\;L(x\leftarrow \vec{\omega}_t)\;(\vec{n} \bullet \vec{\omega}_t)\;d\vec{\omega}_t \end{align*}

The reflected and transmitted components are given by the amount of incoming light from respective hemisphere, the BRDF and BTDF functions and the angle from the normal.
rendering_equation