PBR - Surface Reflection

Last Update:May 18, 2024 am

Bidirectional Reflectance Distribution Function

Given a reflection plane, the irradiance from the incident light at the point $\mathbf{p}$ can be written as

where $d\Omega_i=\sin\theta_i\: d\theta_i\:d\phi_i$. The intuitive understanding of the above formula is that the incident light all over the hemisphere is divided into the incident light from many small cones, in which the irradiance contributed by the small cones in the direction $\boldsymbol{\omega}_i$ is $L_i(\mathbf{p},\boldsymbol{\omega}_i)\cos\theta_i\:d\Omega_i$. The total irradiance $E_i(\mathbf{p})$ from the incident light can be obtained by adding up the irradiance contributed by all the small cones.

The above formula is sometimes written in differential form

If we want to consider the irradiance rate of the light emitted along the direction at the point $\mathbf{p}$, the above idea of dividing and summing still works. Suppose that for every unit of irradiance added by a small cone in the direction , it can contribute more units of irradiance rate to the outgoing light in the direction , then the contribution of the small cone in the direction to is

Adding up the contributions of all the small cones gives the expression of $L_o(\mathbf{p},\boldsymbol{\omega}_o)$ as follows

The above formula can also be written in the corresponding differential form

or equivalently

The function $f_{\mathrm{r}}\left(\mathbf{p}, \boldsymbol{\omega}_o, \boldsymbol{\omega}_i\right)$ derived above is called bidirectional reflectance distribution function, or BRDF for short. The equation derived above

is called reflection equation.

Properties

Physics based BRDF should have the following three properties:

  1. Nonnegativity: $f_{\mathrm{r}}\left(\mathbf{p}, \boldsymbol{\omega}_o, \boldsymbol{\omega}_i\right)\ge 0$;
  2. Helmholtz reciprocity: ;
  3. Conservation of energy:

Calculation

There are three common ways to deal with integral

  1. The first kind of surface integral on the unit hemisphere, which can be parameterized by spherical coordinates

  2. Convert to the integral on luminous surface $A$

where $\theta^\prime$ is the angle between the normal vector at some point on surface $A$ and $-\boldsymbol{\omega}_i$.

Instance: the BRDF applied by UE4

UE4 engine uses the following BRDF

where

In the above formula, $\mathbf{n}$ is the unit normal vector, $\mathbf{l}$ is the unit incident vector, $\mathbf{v}$ is the unit reflection vector, $\mathbf{h}=(\mathbf{l}+\mathbf{v})/\Vert\mathbf{l}+\mathbf{v}\Vert$ is the microplane unit normal vector. Next, we will describe the specific forms of functions $F,D,G$.

Normal Distribution Function $D$

GGX (Trowbridge-Reitz) Distribution

Geometry Function $G$

GGX-Smith correlated joint approximate formula

Fresnel Term $F$

Fresnel-Schlick approximate formula

where $\operatorname{lerp}(a,b,t)=(1-t)a+tb$ is the linear interpolation function.


Copyright Notice: All articles in this blog are licensed under CC BY-SA 4.0 unless declaring additionally.