NVIDIA的黑科技3:VXGI體素全局光照
2025-04-02 02:12:26
每一個行業都有自己的「聖杯」,例如能源方面的核聚變、醫藥方面的癌症特效藥以及空間探索方面的超光速推進力。 任何領域中「聖杯」的定義都是難以實現和代價高昂的,或者完全是科幻產物。也許這就是我們之所以對此心馳神往的原因所在。
計算機圖形領域的「聖杯」就是「實時全局光照」。全局光照是一種渲染遊戲環境的方法,它通過模擬光線的行為,從而體現各個表面之間的光線反射效果。然而以光子級別進行自然仿真處理是一項代價高昂的事業,電影中僅僅是有選擇地利用全局光照來渲染複雜的CG場景,就是因為這個原因。
這一情況即將有所改變。憑藉次世代Unreal Engine 4(虛幻4)引擎,遊戲將首次具備實時全局光照渲染效果。而這項技術是由NVIDIA圖形工程師與EPIC開發者共同完成的,NVIDIA將其稱為Voxel Global Illumination(VXGI,立體像素全局光照)。
● 什麼是全局光照?它為什麼對遊戲逼真度來說如此重要?
首先來看一組對比截圖:
傳統直接光照效果
全局光照效果
區別很明顯吧?通俗的講,直接光照就是簡單的模擬一個或多個光源的照射效果,在相應的位置投射出光和影;而全局光照就是考慮到了光線的直射與儘可能多的漫反射效果,最終呈現出來的光影效果更接近於現實世界。
全局光照指的是對場景周圍光線反射的計算。全局光照負責製作出現實環境中的許多細微著色特效、氣氛以及有光澤的金屬反射效果。自1995年在虛幻1中採用實時直接光照以來,虛幻4引擎中的實時全局光照是在光照方面實現的最大突破!
● 在沒有全局光照技術之前,遊戲是如何實現更逼真光影效果的?
也許有人會說了,現有的遊戲其實光影效果還是不錯的,並不像上圖1所示那麼差。沒錯,上圖的對比是比較直接的、沒有附加特效的,其實遊戲中還有其它的方法來提高畫面真實度,最常見的就是Ambient Occlusion(AO,環境光遮蔽)技術。
目前非常先進的水平環境光遮蔽技術 (Horizon Based Ambient Occlusion,HBAO)
但不管是什麼級別的AO,都是對光照與陰影的一種模擬,可以說是預處理,開發者認為此處的陰影的顏色應該深一些、或者淺一些、或者柔和一些,所以才會加上去的,而不是通過複雜的光影算法來直接生成的。
● 喜歡濃妝豔抹還是清新素雅?
我們知道傳統的圖形渲染分為立體建模(頂點著色)和像素著色兩個部分,其中像素都是2D平面狀的,平鋪在模型表面,而光影效果都是需要預先計算每個像素的光照或陰影,就是根據遊戲的需要來改變像素顏色。
這種對每個像素反覆進行塗抹修飾的做法,既不逼真、也很低效,因為像素顯示的並不是真正的光影效果,而是我們認為應該顯示的效果,而且越來越多的預處理特效對GPU的ROP(光柵單元)和顯存造成了很大的負擔。
● VXGI立體像素全局光照:2D平面像素變為3D立體像素
NVIDIA使用了一種非常巧妙的方法,從根本上改變了虛假的光影處理流程。
傳統遊戲中,所有間接光照(某一表面反射出來的光線)是預先計算的,存儲於有光線貼圖之稱的紋理內。光線貼圖讓遊戲場景能夠具備類似全局光照的效果,但是因為它們是預先計算的,所以只在靜態物體上有效。
VXGI完全拋棄了將光線貼圖存儲於2D紋理中的做法,而是將其存儲於立體像素中。立體像素就是三維像素,它具有體積,類似於樂高積木。
立體像素採用樹狀結構分布,以便能夠對其進行高效地定位。當渲染一個像素時,它能夠有效地詢問立體像素樹: 「哪一個立體像素對我來說是可見的?」根據這一信息,就能夠決定接收的間接光線數量(全局光照)。
VXGI完全消除了預先計算的光照,以存儲於樹狀結構的立體像素取而代之,這種樹會根據每一幀而更新,所有像素均利用它來收集光照信息。
● VXGI立體像素全局光照:每顆立體像素都是「手電筒」
現在到了最關鍵的地方,立體像素看起來好像比馬賽克更加稀疏,但是所有可見的立體像素都可以執行錐形聚焦光線追蹤(給出起點、方向和角度),這樣就能沿著小範圍的錐形路徑生成大致的光線漫反射效果。
每一個立體像素都可以進行多個錐形追蹤,遊戲中需要根據實際光源的大致方向及反射表面的情況,來設定錐形範圍及追蹤數量。
實現最終的效果沒有捷徑,就是通過GPU強大的運算能力,讓錐形追蹤足夠快,以使我們能夠實時地對每個立體像素執行一次或多次追蹤。對每個像素執行六次寬幅錐形追蹤 (每個主要方向各一次) 會生成大致的二次反射間接光照效果。以鏡面反射方向執行窄幅錐形追蹤能夠呈現金屬反射效果,在這種反射效果中,每個有光澤的表面都能夠反射出整個場景。
● 虛幻4引擎完美支持VXGI,Maxwell顯卡運行效率更高
值得一提的是,VXGI提算全局光照技術嚴重依賴於GPU的浮點運算(通用計算),而不是傳統的圖形流水線,因此大大減輕了GPU光柵單元的負擔。另外,NVIDIA稱Maxwell架構對VXGI的運算進行了針對性的優化,新一代顯卡在執行體素全局光照時的效率會更高。
VXGI現已加入UE4豪華DEMO
虛幻4引擎已經完整支持了VXGI技術,最新的虛幻4技術演示Demo已呈現除了非常驚人的光照效果,不久之後,將會有一大批使用虛幻4引擎的遊戲大作問世,屆時Maxwell架構的顯卡將會有更佳的性能表現。