Global Illumination(全局光照,縮寫GI),是3D計算機圖形中使用的一組算法通用名稱,旨在為3D場景添加更逼真的照明效果。
這種算法不僅考慮到直接來自光源的光照情況(直接光照),也會考慮到來自相同光源的光線照射到場景中物體表面時,又反彈到其他表面的后續情況(間接光照)。
在真實的世界里,光源會發射出大量的光子(Light photons)。光子達到物體表面后反彈(Bounce),根據反彈表面的色彩面改變自身的顏色,最終進入我們的眼睛。GI(Global Illumination)全局照明模式就是嘗試模擬這種光子反彈式的物理照明過程。這種光子模擬過程為渲染增加了真實感,幫助數字藝術家得到更為生動、真實的畫面。
即便是處理極為簡單的場景,GI也可以營造出極高質量的效果。
光線直接照射物體表面,而沒有經過光子反彈,稱之為直接光照(Direct lighting)。光線經過一次或者多次物體表面的反彈,稱之為間接光照(Indirect lighting)。GI的核心是計算間接光照。
當光子碰撞到一個粗糙表面(Rough surface),它就會被隨機地向各個方向散射出去,這就是所謂的漫反射全局光照(Diffuse Global Illumination)。當光子擊中一個強烈的反射表面(Reflective surface)或折射表面(Refractive surface),如鏡面或者玻璃,它往往會向一個更可預測的方向反彈。光子離開反射、折射后,往往會“集結”在一起,形成有趣的光亮圖案。這種圖案被稱為焦散(Caustics)。全局光照(Global Illumination),在一般情況下,就是指這兩種效應:漫反射GI和焦散。
不同光照模式渲染對比:
在場景中引入更多的GI反彈次數會使光影效果更加明亮,相應的渲染速度也會更慢:
過多的GI反彈次數不僅會大幅增加渲染時間,有時也可能會導致畫面的亮部顯得“曝光過度”。基于這些因素,渲染時要適當限制反彈的次數,找到合適的反彈次數即可。