從頭教你學vray【間接照明01】
一、什么是間接照明(GI)
GI是通過墻壁,鏡面或地板等物體反射光后照亮其他物體的效果。
(比如我們能看到沒有被光源直接照亮的物體)通過上面兩張圖我們能清楚的看到打開GI后,場景內沒有被照亮的物體,也被照亮了。
Vray為了模擬真實的間接照明效果,為我們提供了四種算法,發光圖、BF、燈光緩存、光子圖(是一種古老的引擎將不再講解)。
在我們正式開始學習這四種算法之前,我們必須先了解VRay的反向采樣射線,就是vray是怎樣來渲染我們場景的。
在真實的世界中光源發射光線照射物體,物體反射光線進入我們的眼睛,經過大腦處理我們看到了物體。
在Vray中攝像機相當于我們的眼睛,并對攝像機所看到的物體發射采樣射線,如果攝像機內的物體被燈光照亮或間接的被照亮,那么物體就會渲染出來,Vray只計算攝像機所能看到物體,對沒有看到的物體不進行計算。
這大大的加快了我們的渲染時間,通過下面的圖理解。
由上圖攝像機發射采樣射線,發射到場景中的A點,發現A點被場景中B反射光線照亮,那么這條采樣射線采集B的光照信息作為A點光照信息,這個過程為首次引擎(由光直接照亮物體為直接照明,現在我們討論的為間接照明,不要混淆)二次引擎參考圖依次類推,首次引擎以后都為二次引擎。
四、BF算法特點;渲染非常精確,耗費時間長,特別適場景中有特別多細小的物體原理:在學習BF算法前必須要理解什么是GI,什么為首次引擎什么為二次引擎,及vray的反向采樣射線。
BF為每像素采樣,依據攝像機視圖的分辨率,如(100*100分辨率)用過PS的應該都知道像素塊的含義,那么100*100分辨率的圖為10000個像素塊組成,使用BF算法將會向場景發射10000個采樣射線。
參照上圖理解,攝像機中的某條A采樣射線發射到B點,細分值為8,那么A采樣射線在B點分裂為64條采樣射線去搜尋反射照亮B點其他物體,然后把他們的采集的值相加計算出B點的亮度及顏色的值。
它的分裂數為當前細分參數的2次方。反彈為分裂出去的64采樣射線在場景中反彈幾次,反彈最后一次采集的為直接照明,值越大間接照明渲染越精確所耗費的時間越長。
五、發光圖BF算法為每個像素都進行采樣,對于明暗對比沒有那么明顯的地方,比如一面墻是不是大大的浪費了資源并增加了渲染時間
并且細分64條采樣射線是遠遠不夠的,會使畫面產生很多噪點,加大細分又會增加我們的渲染時間。
利用發光圖的自適應細分就會很好的解決這些問題。對比上圖我們就可以發現BF產生很多的噪點,把采樣值加到64以后噪點問題有所改善
但是渲染時間是很難接受的。紅圈標注的地方發射這么多的采樣射線是不是很浪費資源。
把二次引擎改為無,首次引擎的渲染效果對比,發光圖渲染的更快噪點也沒有了,但不要以為發光圖就比BF算法更好,BF渲染質量是這幾種引擎中效果最好的。
評論(0)