一、輻射度量學中的物理量
輻射度量學是基於物理光照的基礎
1.1 物理量
1.1.1 Radiant energy(輻射能)
電磁輻射的能量
\[Q [J=Joule] \]
1.1.2 Radiant flux(輻射通量)
單位時間(\(t\))釋放(emitted)、反射(emitted)、透射(transmitted)或接受(received)的能量
\[\Phi = \frac{\mathrm{d} Q}{\mathrm{d} t}[W=watt][lm=lumen] \]
1.1.3 Radiant Intensity(輻射強度)
輻射強度是單位立體角(\(w\))由點光源發出的功率(\(\Phi\))

$$ I(\omega) = \frac{\mathrm{d} \Phi}{\mathrm{d} \omega}[\frac{W}{sr}][\frac{lm}{sr}=cd=candela] $$
1.1.4 Irradiance(輻照度)
輻照度是每(垂直/投影(\(\cos \theta\)))單位面積(\(A\))入射到一個表面上一點(\(x\))的輻射通量(功率)

$$ E(\mathbf{x}) \equiv \frac{\mathrm{d} \Phi(\mathbf{x})}{\mathrm{d} A}[\frac{W}{m^2}][\frac{lm}{m^2}=lux] $$
1.1.5 Radiance(輻射)
是指一個表面在每單位立體角(\(w\))、每單位投影面積(\(A\))上所發射(emitted)、反射(reflected)、透射(transmitted)或接收(received)的輻射通量(功率)

$$ L(\mathrm{p}, \omega) \equiv \frac{\mathrm{d}^{2} \Phi(\mathrm{p}, \omega)}{\mathrm{d} \omega \mathrm{d} A \cos \theta}[\frac{W}{srm^2}][\frac{cd}{m^2}=\frac{lm}{srm^2}=nit] $$
1.2 物理量之間的關系
Radiant Intensity:單位立體角的輻射通量
Irradiance:單位投影面積的輻射通量
Radiance:單位投影面積的輻射強度或者是單位立體角的輻照度(單位立體角、單位投影面積的輻射通量)
1.2.1 Incident Radiance(入射輻射)
指到達表面的單位立體角(\(w\))的輻照度。即它是沿着給定光線到達表面的光(入射方向指向表面)

$$ L(\mathrm{p}, \omega)=\frac{\mathrm{d} E(\mathrm{p})}{\mathrm{d} \omega \cos \theta} $$
1.2.2 Exiting Radiance(出射輻射)
離開表面的單位投影面積(\(A\))的輻射強度

$$ L(\mathrm{p}, \omega)=\frac{\mathrm{d} I(\mathrm{p}, \omega)}{\mathrm{d} A \cos \theta} $$
1.2.3 Irradiance和Radiance之間的區別就在於是否有方向性
Irradiance:在面積(\(dA\))的總輻射通量
Radiance: 在面積(\(dA\)) 、(\(dw\))上的輻射通量

二、雙向反射分布函數
Bidirectional Reflectance Distribution Function(BRDF)描述了從某個方向入射到一個點上的光線的能量會怎么反射,在不同的反射方向上會各分布多少能量。

假設光線從立體角\(w_i\)射入,打到物體表面 \(dA\),那么反射其實是即入射光線的radiance到達表面后被吸收變為power,再以radiance的形式發射出去這一轉化過程。
那么BRDF就定義為對某一個出射方向的radiance\(L\) 占一個微小表面的irradiance\(E\)的比例。
\[f_{r}\left(\omega_{i} \rightarrow \omega_{r}\right)=\frac{\mathrm{d} L_{r}\left(\omega_{r}\right)}{\mathrm{d} E_{i}\left(\omega_{i}\right)}=\frac{\mathrm{d} L_{r}\left(\omega_{r}\right)}{L_{i}\left(\omega_{i}\right) \cos \theta_{i} \mathrm{d} \omega_{i}}\left[\frac{1}{\mathrm{sr}}\right] \]
三、反射方程
BRDF告訴了我們從某個方向入射的光線,在該表面上往某個方向反射會是怎樣的結果,那么當我們考慮某個出射方向其接收的來自四面八方入射光線的反射結果貢獻累計的話,我們就可以積分得到該點最終的着色結果。

$$ L_{r}\left(\mathrm{p}, \omega_{r}\right)=\int_{H^{2}} f_{r}\left(\mathrm{p}, \omega_{i} \rightarrow \omega_{r}\right) L_{i}\left(\mathrm{p}, \omega_{i}\right) \cos \theta_{i} \mathrm{d} \omega_{i} $$ 可以看到這個方程式遞歸定義的,任何一個點出射的radiance都有可能被作為另外一個點的入射radiance
四、渲染方程
\[L_{o}\left(p, \omega_{o}\right)=L_{e}\left(p, \omega_{o}\right)+\int_{\Omega^{+}} L_{i}\left(p, \omega_{i}\right) f_{r}\left(p, \omega_{i}, \omega_{o}\right)\left(n \cdot \omega_{i}\right) \mathrm{d} \omega_{i} \]
這里\(\Omega^+\)和\(H^2\)一樣代表半球。
4.1 渲染方程的進一步理解
只有一個點光源單一入射方向光線的反射方程:

引入多個光源,那么就把多光源的影響累計起來:

引入一個面光源,我們可以將面光源理解為所有點光源的集合,那我們就需要積分面光源所占的立體角,考慮它覆蓋的所有方向的BRDF反射情況:

如果有來自別的物體表面反射的光線到達x再反射打到觀察方向,就把這樣的物體表面當作一個新的光源,無需進行額外處理:

4.2 使用二項式定理進行拆分
4.2.1 二項式定理

4.2.2 拆分渲染方程
渲染方式可以簡化為以下形式:
\[I(u)=\theta(u)+\int l(v)K(u,v)dv \]
通過算符的抽象還可極度簡化成如下形式:
\[L = E + KL \]
\(K\)為反射算符,\(L\)為未知數
\[\begin{aligned} L&=E + KL\\ 1L - KL&=E\\ (1-K)L&=E\\ L&=(1-K)^{-1}E \end{aligned}\\ \]
然后根據二項式定理,可寫為:
\[\begin{aligned} L&=(1+K+K^2+K^3+...)E\\ L&=E+EK+K^2E+K^3E+... \end{aligned}\\ \]
最后我們可以得到最終的計算結果:即可以將渲染方程的着色結果分解為光線彈射多次的合成結果:

4.3 解渲染方程
4.3.1 Monte Carlo Integral
對於積分
\[\int f(x)\mathrm{d} x \]
隨機變量
\[\quad X_{i} \sim p(x) \]
可以使用下式近似
\[\int f(x) \mathrm{d} x=\frac{1}{N} \sum_{i=1}^{N} \frac{f\left(X_{i}\right)}{p\left(X_{i}\right)} \]
\(N\):采樣數
蒙特卡洛積分采用一種隨機采樣的方法,樣本越多,結果越准。只要知道\(f(x)\)和\(p(x)\)就能使用改式對定積分的結果進行近似。
如果樣本式均勻分布的,那么:
\[\int_a^b f(x)\mathrm{d} x \]
隨機變量\(x\)的概率密度為常數:
\[\quad X_{i} \sim p(x) = \frac{1}{b-a} \]
4.3.2 渲染方程近似求解
對於渲染方程
\[L_{o}\left(p, \omega_{o}\right)=L_{e}\left(p, \omega_{o}\right)+\int_{\Omega^{+}} L_{i}\left(p, \omega_{i}\right) f_{r}\left(p, \omega_{i}, \omega_{o}\right)\left(n \cdot \omega_{i}\right) \mathrm{d} \omega_{i} \]
蒙特卡洛積分公式中的\(f(x)\)為
\[ L_{i}\left(p, \omega_{i}\right) f_{r}\left(p, \omega_{i}, \omega_{o}\right)\left(n \cdot \omega_{i}\right) \]
\(p(x)\)為
\[w_{i} \sim p(w_i) = \frac{1}{2\pi} \]
那么可以得到近似解:
\[\begin{aligned} L_{o}\left(p, \omega_{o}\right) &=\int_{\Omega^{+}} L_{i}\left(p, \omega_{i}\right) f_{r}\left(p, \omega_{i}, \omega_{o}\right)\left(n \cdot \omega_{i}\right) \mathrm{d} \omega_{i} \\ & \approx \frac{1}{N} \sum_{i=1}^{N} \frac{L_{i}\left(p, \omega_{i}\right) f_{r}\left(p, \omega_{i}, \omega_{o}\right)\left(n \cdot \omega_{i}\right)}{p\left(\omega_{i}\right)} \end{aligned} \]
引用
GAMES101 中光的傳播理論部分
網友的GAMES101筆記
https://zhuanlan.zhihu.com/p/139468429
https://zhuanlan.zhihu.com/p/389616851
圖片來自GAMES101 PPT
本文結束