輻射度量學(xué)與蒙特卡諾積分
背景:
Phong和Blinn-Phong的經(jīng)驗?zāi)P瓦^于經(jīng)驗,沒有嚴(yán)謹(jǐn)?shù)奈锢矶x,所以計算機圖形學(xué)急需要一個能夠符合物理基本規(guī)律的光照知識,這就是輻射度量學(xué)提出的背景(基于物理光學(xué))。
概念:
1. 輻射能,單位是焦耳,是能量,表示穿過一個曲面(類似于電磁學(xué)的高斯面)的光能。
2. 輻射通量
3. 立體角(針對球面坐標(biāo)系),類比于平面角(針對極坐標(biāo)系):
可以得到立體角的公式:
如圖所示,設(shè)球面上的單位面積為,那么可以算出:

4. 輻射強度(Radiant Intensity),單位為cd(坎德拉),在光學(xué)中叫做光強。他表示單位立體角的輻射通量:
5. 輻照度(Irradiance),表示單位面積的輻射通量:
可以看出,這個量類似于我們在電磁學(xué)學(xué)到的磁通量定義公式:
所以,可以表示一個球面(或者叫高斯面)上單位面積的接收到光強。那么
和
有什么區(qū)別呢?
表示的是一個球面上單位面積的接收到光強,而
表示的是一束光的光強而已。
這個理論可以解釋為什么在Phong模型中,光強按照平方階次衰減。
如圖,離光源最近的輻照度(半徑為1),而距離光源為的輻照度
,所以兩者的比值是
,這就證明了衰減是平方衰減。(可以看出來這里和電磁學(xué)非常相似,道理都是相通的)

6. 輻射率(Radiance),又叫光亮度。這是最常用(最重要)的一個物理量,也是構(gòu)建渲染方程的主要物理量。他每表示單位立體角,每單位垂直面積的輻射通量。很像是Intensity和irradiance的結(jié)合。它同時指定了光的方向與照射到的表面所接受到的亮度。(就是這個單位面積在某個方向上吸收的光能)

其中是入射點。
那么和
的關(guān)系是啥呢?作如下變形:
這樣進一步得到:
其中是上半球。所以這個式子很好解釋了Radiance是單位面積在某個方向上接受到的光強,而Irradiance是整個Radiance的求和(即所有方向上接收到的光強的總和)。

BRDF函數(shù)與渲染方程:

考慮一個位置為的單位面積
,接收到某個方向的光強
,經(jīng)過材質(zhì)的吸收能量后,反射出的光強為
,為了衡量反射出的光強與入射的光強的關(guān)系,類比于反射率的定義,我們定義一個函數(shù)來表示這個關(guān)系:
這個函數(shù),就是BRDF函數(shù)。因為這個函數(shù)的物理意義就是反射率,所以又叫做反射率函數(shù)。
因此,反射出的光強可以解出來是:
這就是反射方程。
考慮到物體還能自身發(fā)光,所以反射出的光強還包括物體自身的光強:
這就是渲染方程。
渲染方程的物理意義
渲染方程可以這樣寫:
大部份物理意義上面已經(jīng)說過了,因為這里的積分其實本質(zhì)是一種卷積,所以可以用算子來簡化,這里講解一下算子理解,為了簡化方程,我們可以這樣寫一個方程大致表示渲染方程:
這是一種遞歸的寫法,$L$為反射光強,$E$為光源光強,而$K$是反射算子(一種矩陣)。由線性代數(shù)的知識有:
由泰勒展開,有:
所以反射光強:
所以可以理解為,反射光強等于光源光強,加上光源經(jīng)一次反射后的光強,加上光源經(jīng)兩次反射后的光強,以此類推。這就是真實的全局光照了。
蒙特卡諾積分
現(xiàn)在有了渲染方程,但如果直接數(shù)值方法計算定積分,效率太低了。所以引入概率學(xué)的蒙特卡諾方法,類似于幾何概型。
蒙特卡諾方法會將:
以概率的角度,求出他的近似值。
考慮一個函數(shù)圖像:

選定一個隨機變量,遵循某種分布
。從這個分布隨機挑選出一個值
,因為這個集合關(guān)系,所以就會導(dǎo)致
的范圍為:
所以決定了矩形的寬度,可以用來計算矩形面積。
然后取作為矩形的高度,然后計算矩形面積:
重復(fù)$N$次,最后取算術(shù)平均數(shù),就是這個積分的近似值了(是不是很像幾何概型):
于是:
如果我們采用均勻分布,那么,就有
,這個時候每次的獲取的矩形面積的寬度都是
,于是每次隨機計算出的矩形面積為:
于是:
證明蒙特卡諾積分的正確性
因為蒙特卡諾是概率模型,我們計算數(shù)學(xué)期望,如果值就是積分本身,那么這個模型就是正確的:
證明完畢