A. 完全計算法(Exact)與估計值計算法(approximate)

如上所述,我們計算不完每條算式---始終會存在著一些計算誤差,雖然這些物非常小。某些渲染法,可以由使用者自行決定計算的精度(例如 GI的密度,或GI的射線數目,或是光子的數目等。然而這種做法有一個缺點,那就是使用者必須等待整個計算過程完成後才能知道最終的渲染品質是如何。另一個缺點是,使用者必須要經過很多嘗試才能知道如何在最少的時間內達到要求的品質。不過,這種方法有個大優勢,就是可以有效率地控制精度範圍,因為這種演算法能夠專注於困難的計算區塊(將渲染範圍分割成區塊,成為獨立區域,最後在將結果組合起來。

其他方法,是用漸進式(progressively)的方式進行渲染,這種方法在剛開始計算時誤差很大,但在每次新的演算後會把誤差縮小。在任何時間點,我們能獲得完整的渲染結果。因此,我們可以在計算途中終止渲染器的計算。

表一、完全計算法與估計值計算法比較表

渲染器算法_渲染器算法

B. 收集法(Gathering)與發射法(shooting)

發射法:

自燈光開始發射光子到場景中。請注意,這種方法繼可以是完全計算法也可以是近似值計算法。

收集法:

由攝影機方向或是場景中的幾何體開始。請注意,收集法,既可以是完全計算法或是近似值計算法。

混合計算法:

將發射光子法與收集法兩個方法結合在一起使用;混合計算法可以是完全計算或是近似值計算。

表二、收集法與發射法比較表

渲染器算法_渲染器算法_02


C. 收集法:

收集方法和某些混合法可以是與視角有關(view-dependent)或是與視角無關(view-independent)的計算法。

表三、視角有關或是與視角無關的計算法比較表

渲染器算法_渲染器算法_03