間接照明總結
我們已經學習了間接照明的三種引擎分別為:BF算法、發光圖、燈光緩存,下面我們對這三種引擎進行總結,并討論
他們之間的搭配及用法。
1、特點BF算法:每像素采樣 。發光圖:自適應細分。燈光緩存:塊結構、遞進式算法。
2、首次及二次引擎的搭配方式由于BF算法為每像素采樣,如果作為首次引擎的話太浪費資源,不適合作為首次引擎。燈光緩存算法雖然非常高級
但是遞進式塊結構算法并不能在局部進行精細采樣,所以發光圖最適合作為首次引擎。由于光子圖的算法存在很多的缺點
那么最優的組合只有:發光圖+BF算法,或者發光圖+燈光緩存。
由上圖,發光圖引擎進行自適應細分,然后BF對發光圖引擎所發射的采樣射線進行反彈,BF算法在作二次引擎的時候它只是輔助發光圖引擎,它的細分參數沒有意義
只有反彈參數有意義,反彈參數值越大計算的照明效果越精確畫面越亮。通過前面的學習發光圖可以生成光子圖,那么二次引擎BF生成的光子可以保存嗎?
答案是可以的,BF生成的光子保存在光子圖里,下面舉例說明。在單幀的模式下渲染圖像,并保存它的光子圖。
模式改為從文件并渲染,可以對比發現兩張圖的效果一樣,可知二次為BF產生的光子保存在光子圖中。
3、發光圖+燈光緩存BF為發光圖做輔助運算,燈光緩存同樣也是為發光圖做輔助運算,只不過燈光緩存更高級,它作為二次引擎會先運算燈光緩存,再運算發光圖先計算燈光緩存再計算發光圖流程:燈光緩存先把場景拆分為塊結構,發射采樣射線對整個場景進行反彈運算。
然后發光圖進行自適應細分,因燈光緩存已經把二次反彈的照明信息計算完畢,所以首次引擎發光圖直接使用燈光緩存提供的照明信息
最終把間接照明渲染出來,下面圖解說明。
燈光緩存參數如右圖,使用光子圖工具查看燈光緩存產生的光子。由上圖,可以發現燈光緩存的光子是對整個場景進行運算的
結合它的遞進式渲染原理,完美輔助了發光圖引擎。所以我們最常用的兩種搭配方式為:發光圖+燈光緩存或者發光圖+BF算法。
評論(0)