PBR Step by Step(三)BRDFs

BRDF

BRDF(Bidirectional Reflectance Distribution Function)雙向反射分佈函數,用來描述給定入射方向上的入射輻射度以及反射方向上的出輻射度分佈,BRDF提供了一種相對準確的計算方法。函數

 

如圖所示,點\({P}\)處\({d \omega}\)內的入射輻射度爲\({dE_i(p, \omega_i)}\),反射方向\({\omega_o}\)上的出射輻射度爲\({dL_o(p, \omega_o)}\)。spa

BRDF遵循能量守恆原則,入射輻射度與出射輻射度應呈正比例關係,\({dL_o(p, \omega_o)}\)隨\({dE_i(p, \omega_i)}\)的增長而增大。可表示爲:3d

\({dL_o(p, \omega_o)} \propto {dE_i(p, \omega_i)}\)blog

若是用\({f_r(p, \omega_i, \omega_o)}\)表示BRDF比例係數,則:io

\({dL_o(p, \omega_o)} = {f_r(p, \omega_i, \omega_o)}{dE_i(p, \omega_i)}\)反射

在上一篇中,咱們知道入射輻射度\({dE_i(p, \omega_i)}={L_i(p, \omega_i) \, \cos \theta_i \, d \omega_i}\),代入上式得:方法

\({dL_o(p, \omega_o)} = {f_r(p, \omega_i, \omega_o)}{L_i(p, \omega_i) \, \cos \theta_i \, d \omega_i}\)im

那麼BRDF的比例係數\({f_r(p, \omega_i, \omega_o)}=\frac{dLo(p,\omega_o)}{L_i(p,\omega_i)\, \cos \theta_i \, d\omega_i)}\)總結

反射輻射度方程

由上面的公式,可知在立體角\({\Omega_i}\)上的反射輻射度的方程爲:img

\({L_o(p,\omega_o)}=\int_{\Omega_i}{f_r(p, \omega_i, \omega_o)}\, {L_i(p, \omega_i)}\, {\cos \theta_i}\, {d\omega_i}\)

BRDFs的特徵

  • 知足交換率:若交換\(\omega_i\)和\(\omega_o\),最終的BRDF值保持不變。就是說若改變光的傳播方向,輻射度保持不變。
  • 知足線性特徵:物體表面上一點的所有反射輻射度等於各BRDF反射輻射度之和。
  • 遵循能量守恆:現實中不存在能夠徹底反射物體表面的入射光的材質,部分能量會被物體表面吸取並以其餘形式再次反射。因此物體表面面片\({dA}\)上的各向反射輻射度小於總的吸取能量。

反射率Reflatance

反射率是反射通量和入射通量的比例係數。在上一篇講的關於輻射度的內容中,咱們知道\({\Omega_i}\)上的入射輻射度:

\({E_i(p, \, \omega_i)} = \frac{d\Phi_i}{dA} = \int_{\Omega_i} {L_i(p, \, \omega_i) \, \cos \theta_i \, d \omega_i}\)

可推出\({\Omega_i}\)上的入射輻射通量\({d\Phi_i} = {dA} \int_{\Omega_i} {L_i(p, \, \omega_i) \, \cos \theta_i \, d \omega_i}\)

對於\({\Omega_o}\)上的同一面片中的反射通量爲:

\({d\Phi_o} = {dA} \int_{\Omega_o}{L_o(p, \, \omega_o) \, \cos \theta_o \, d \omega_o}\)

將上面的反射輻射度方程代入,得:

\({d\Phi_o} = {dA} \int_{\Omega_o}\int_{\Omega_i} {f_r(p, \omega_i, \omega_o)}\, {L_i(p, \omega_i)}\, {\cos \theta_i}\, {d\omega_i} \, {\cos \theta_o \, d \omega_o}\)

反射率\({\rho(p, \Omega_i, \Omega_o)}=\frac{d\Phi_o}{d\Phi_i}\),這樣,咱們就能夠獲得反射率的方程:

\({\rho(p, \Omega_i, \Omega_o)}=\frac{d\Phi_o}{d\Phi_i}=\frac{\int_{\Omega_o}\int_{\Omega_i} {f_r(p, \omega_i, \omega_o)}\, {L_i(p, \omega_i)}\, {\cos \theta_i}\, {d\omega_i} \, {\cos \theta_o \, d \omega_o}} {\int_{\Omega_i} L_i(p, \omega_i) \, \cos \theta_i \, \omega_i}\)

 

最後再附帶上一張圖做梳理總結

相關文章
相關標籤/搜索