路徑追蹤

Monte Carlo Integration

:蒙特卡羅積分,近似求定積分的一種方法,取某個點xi,對應的y值做矩形,此矩形近似等於定積分面積,然後取多次求平均

 

求出概率密度函數pdf,就可以解出定積分,一般使用平均採樣,使得概率密度函數是常數,概率密度函數在自變量區間內對dx進行積分就是概率之和等於1。

此時上圖中的FN就是開頭提出的那種以矩形面積近似等於定積分的結果,b-a爲矩形的寬,f(Xi)爲矩形的高,然後加起來求平均。

下圖就是蒙特卡羅積分求定積分的公式。

 

路徑追蹤

Whitted-Style Ray Tracing: Problem 1:

Whitted-Style的性質是鏡面反射和折射,在粗糙表面會停止反射。
Whitted-Style Ray Tracing在鏡面反射的物體表面上是對的,但在漫反射的(粗糙)物體表面上是錯的,因爲Whitted-Style的光線只會鏡面反射和折射,而實際物體表面的光線是有漫反射的。此時當Whitted-Style Ray照射到粗糙表面就會發生反物理現象,

Whitted-Style Ray Tracing: Problem 2:

Whitted-Style Ray在照射到漫反射表面時會停止,直接進行着色計算,此時就會忽略物體與物體之間的漫反射光線。

 

而路徑追蹤就是爲了解決Whitted-Style Ray Tracing的問題。

從渲染方程開始分析,因爲渲染方程肯定是對的

此時,我們需要解出右邊的定積分。考慮在某一個點p的着色,p點的光照來源於光源或者漫反射光,先只考慮來源於光源的光,

入射光Li是從各方位的立體角wi入射進來,然後經過prdf反射出去,使用蒙特卡羅積分求解,首先需要知道解出pdf,由於是對

立體角wi進行積分的,對wi在各個方向平均取值,即pdf爲常數,wi在半球方向上爲2π,wi爲定積分區間。即從0到2π。

然後考慮從其他物體漫反射進來的光線,此時把p點作爲攝像機,Q點作爲着色點,也就是遞歸了

但此時會有第一個問題,在考慮一個點的着色時,我們會朝着各個方向來計算他們的光線,也就是說一根光線會轉變成N個光線,然後在下一個點又會轉變成N個光線,就是指數級爆炸了,爲了解決這個問題,我們只能把N=1,這個時候就是Path Tracing了。

在實際操作時,從觀測點向一個像素髮出N跟光線,然後算出這N個光線的路徑追蹤後再求平均,即爲該像素的着色結果,

此時也算是解決噪聲大的問題。

第二個問題是上圖中的代碼停不下來,因爲遞歸必須是要有停止條件的,在現實生活中的光線是會無限反彈的,但計算機不能模擬無限次反彈,

所以引進俄羅斯輪盤賭的概念來解決此問題,即每一根光線有一定的概率能反彈出去,反之就是不能彈射出去。

這個時候還有一個問題,當我們在一個像素上的採樣率比較低的時候噪聲會比較大,雖然高採樣率會解決這個問題,但造成了性能的開銷,我們希望

低採樣率時也能有一個低噪音的效果。

 

原因是因爲pdf的採樣是在單位半球上對各個方向採樣的,從單位球上向各個方向發出光線,但並不是每根光線都能達到光源上,

根據蒙特卡洛的原理,pdf並不是固定的,改變pdf來改變上面的情況,此時我們在光源上採樣,就保證了每根光線都可以到達光源上。

但因爲採樣是在光源上,積分是在單位球的立體角上,就不符合蒙特卡洛積分

這時我們把dA轉換成dw

得到最終的結果

還有一個小問題就是從着色點到光源之間是否有遮擋物,從着色點發出一條光線到光源,檢查是否能不能直接到達光源

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章