在去年3月份的GDC 2018上,微軟為DirectX12 API增加了光線追蹤模塊,并且將其命名為DirectX Raytracing (DXR),隨后緊接著NVIDIA發(fā)布了基于實(shí)時(shí)光線追蹤的RTX技術(shù),而游戲界的幾大引擎包括寒霜引擎、SEED、虛幻引擎、Unity以及Futuremark 都宣布將增加DXR支持。
隨著去年8月份NVIDIA新一代RTX20系列顯卡的正式發(fā)布,光線追蹤這個(gè)名詞再一次出現(xiàn)在了玩家面前。那么光線追蹤到底是什么,它會(huì)如何改變我們的游戲,和小獅子一起來看看吧。

什么是光線追蹤?
說到光線追蹤就不得不提到從過去到現(xiàn)在很長一段時(shí)間內(nèi)游戲都用到的一種渲染方式——光柵化渲染。這種技術(shù)是將一個(gè)3D圖形的幾何信息轉(zhuǎn)變?yōu)橐粋€(gè)個(gè)柵格組成的2D圖像的過程。這么說可能有些空洞,可以簡單地理解為是將三角形用數(shù)學(xué)方式投影到屏幕空間再進(jìn)行光影計(jì)算,進(jìn)而呈現(xiàn)在顯示設(shè)備上,這一過程也就構(gòu)成了我們視覺所看到的各類陰影效果以及光線投射。
雖然通過這種方式我們也能看到非常逼真的陰影,但這一切都不一定是真實(shí)的,都是游戲的設(shè)計(jì)者結(jié)合環(huán)境進(jìn)行設(shè)計(jì)和計(jì)算的,如果開發(fā)者對(duì)這處陰影的判斷是對(duì)的,那么畫面上的效果也就是對(duì)的,反之,如果開發(fā)者的判斷是錯(cuò)誤的,那么在不可能出現(xiàn)陰影的地方有了陰影,一切都仰仗開發(fā)者的經(jīng)驗(yàn)。
雖然游戲開發(fā)者可以通過大量的模擬計(jì)算能做到無限接近于真實(shí)狀態(tài),并不能保證這就是真實(shí)的效果。而且由于光影是事先設(shè)定好的,所以游戲中產(chǎn)生的環(huán)境的變化通常也不會(huì)對(duì)已有的光影造成影響,就會(huì)給玩家?guī)硪环N錯(cuò)誤的誤導(dǎo)。

光柵化渲染是一個(gè)將3D轉(zhuǎn)換為2D的過程
而光線追蹤就是來解決這個(gè)問題的。光線追蹤其實(shí)并不是一個(gè)陌生的新技術(shù),光線追蹤技術(shù)其實(shí)很早就已經(jīng)應(yīng)用到電影、3D動(dòng)畫中,它能夠在圖形渲染過程中實(shí)時(shí)追蹤環(huán)境與物體的光線,準(zhǔn)確的對(duì)光線、陰影進(jìn)行繪制,可以帶來真實(shí)的光影效果。
那些令你激動(dòng)不已的動(dòng)作大片中的火焰、煙霧和爆炸效果讓人仿佛身臨其境,這就是光線追蹤能達(dá)到的極致效果——光線追蹤生成的影像與攝影機(jī)拍攝的影像難以區(qū)分。雖然這是一項(xiàng)非常不錯(cuò)的技術(shù),但是由于計(jì)算量實(shí)在太大,僅靠CPU來進(jìn)行實(shí)時(shí)渲染是一件不現(xiàn)實(shí)的事情,所以一直沒有在游戲中應(yīng)用。
與光柵化渲染不同,光線追蹤是以光源為起點(diǎn)定義光線,進(jìn)而追蹤由此產(chǎn)生的光線與物體表面以及光線與光線之間交互關(guān)系的過程。雖然定義很簡單,但實(shí)現(xiàn)起來卻非常困難,因?yàn)檫@一技術(shù)需要無限多的光線照射在物體表面,通過反射、折射、漫射等途徑進(jìn)入最終的“攝像機(jī)”成像,而這種計(jì)算會(huì)消耗大量的計(jì)算力,目前的單一硬件很難滿足實(shí)時(shí)光線追蹤的需求。
電影中可以使用“渲染農(nóng)場”這樣的集群來進(jìn)行離線渲染,且很多時(shí)候還只渲染關(guān)鍵幀和關(guān)鍵部位,其他部分依舊用光柵化渲染來完成,放到游戲的實(shí)時(shí)渲染上幾乎是無法完成的。所以NVIDIA推出的RTX 20系顯卡包括現(xiàn)在絕大多數(shù)光線追蹤技術(shù)都是采用逆向方式來實(shí)現(xiàn),即以“攝像機(jī)”鏡頭為出發(fā)點(diǎn),反向回溯光線并通過這些光線尋找光源。

實(shí)時(shí)光線追蹤原理示意圖
可以說,這次英偉達(dá)RTX20系列顯卡之所以被稱為劃時(shí)代的顯卡,不僅是因?yàn)樗褂昧俗钚碌膱D靈架構(gòu),更多的還是它第一次把實(shí)時(shí)光線追蹤技術(shù)引入到游戲領(lǐng)域。對(duì)于游戲而言,光線追蹤雖然不能很直接的改變畫質(zhì),但是能使畫質(zhì)更接近真實(shí)。這或許是游戲硬件在暴力發(fā)展運(yùn)算能力之后,迎來了一次對(duì)畫面上的更新,未來應(yīng)該也是3A大作新的方向。

那么,怎么開啟光線追蹤?
前面吹得那么好,那么怎樣才能用上光線追蹤呢?這又是擺在玩家面前一個(gè)非常現(xiàn)實(shí)的問題。一塊支持光線追蹤的NVIDIA RTX20系列顯卡是必不可少的了,幾天前老黃在CES上發(fā)布的RTX2060系列也是支持光線追蹤的,這算是能讓光線追蹤以較低成本體驗(yàn)的第一步吧。

有了顯卡還不夠,開頭我們說了,微軟為DX12加入了DirectX Raytracing(DXR)模塊來實(shí)現(xiàn)光線追蹤在API層面的支持。所以要想用上光線追蹤,還得升級(jí)DX12,而這個(gè)DX12的更新是跟隨微軟秋季更新一起。對(duì),就是那個(gè)號(hào)稱Win10史上最大BUG的1809更新,不過放心,現(xiàn)在重新放出的1809已經(jīng)解決了很多BUG了。
在硬件和API層面的問題都解決了,那么現(xiàn)在只需要游戲支持就能玩上了!在去年8月的時(shí)候,NVIDIA宣布有11款游戲支持或即將支持實(shí)時(shí)光線追蹤,他們是《神力科莎 Competizione》《Atomic Heart》《戰(zhàn)地5》《Control》《Enlisted》《逆水寒》《劍網(wǎng)3》《MechWarrior 5:Mercenaries》《地鐵:離去》《ProjectDH》《古墓麗影:暗影》,看上去陣容還不錯(cuò)吧,其中還有兩款國內(nèi)的網(wǎng)游大作。
然而四個(gè)多月過去了,現(xiàn)在市面上支持的依舊只有《戰(zhàn)地5》一款,顯得略微有落寞。畢竟引擎級(jí)別的變化要實(shí)現(xiàn)起來也不是那么容易的一件事,但是我們相信,一旦這扇門被打開,將是一個(gè)全新的體驗(yàn)和世界。
實(shí)機(jī)測(cè)試 光線追蹤到底有多吃性能?
既然說了這么多,那么開啟光線追蹤對(duì)性能到底有多大影響呢?我們進(jìn)行了實(shí)機(jī)測(cè)試。

測(cè)試平臺(tái)
CPU:Intel 酷睿i7-8700K
內(nèi)存:芝奇幻光戟 DDR4 3200 8GB × 2
主板:華碩ROG MAXIMUS XI HERO(WiFi)
硬盤:西部數(shù)據(jù)Black NVMe SSD 1TB
顯卡:華碩ROG STRIX GeForce RTX 2080 TI-O11G GAMING
顯示器:華碩ROG PG27UQ
電源:華碩雷神1200
操作系統(tǒng):Windows10 64bit 1809專業(yè)版
顯示驅(qū)動(dòng):417.71
為了能更好的反映各分辨率下不同的性能差距,我們選擇采用華碩ROG STRIX GeForce RTX 2080 TI-O11G GAMING這樣的頂級(jí)游戲顯卡,看看頂級(jí)顯卡在游戲中的實(shí)際表現(xiàn),同時(shí)在3DMark測(cè)試中加入RTX2080,以看看旗艦和次旗艦的性能差距。測(cè)試時(shí)所有特效全部為最高,僅調(diào)整DXR效果。

因?yàn)椤稇?zhàn)地5》沒有Benchmark,所以我們選取了單人關(guān)卡的幾個(gè)固定場景進(jìn)行一段時(shí)間固定路線奔跑后截取平均FPS進(jìn)行測(cè)試,從最大程度上消除環(huán)境變化導(dǎo)致的FPS表現(xiàn)上的差別。從上面的測(cè)試結(jié)果我們也可以看到《戰(zhàn)地5》在不開啟光線追蹤的情況下并不太吃顯卡性能,RTX2080 Ti即使是4K下可以輕松超過60FPS,運(yùn)行非常流暢。

從測(cè)試結(jié)果我們可以看到,《戰(zhàn)地5》在不開啟光線追蹤的情況下并不太吃顯卡性能,RTX2080 Ti即使是4K下可以輕松超過60FPS,運(yùn)行非常流暢。但在“北非:單槍匹馬”這個(gè)場景中1080P分辨率下開啟最高等級(jí)DXR,幀數(shù)直接降到了一半以下,即使是低等級(jí)DXR,幀數(shù)也下降了50多幀,這說明DXR的計(jì)算量非常巨大。

而不同復(fù)雜度的場景對(duì)幀數(shù)的影響也不同,“北極之光”這樣的雪地場景性能下降沒有那么明顯,DXR四個(gè)等級(jí)之間的幀數(shù)相差也不大,不過在4K分辨率下依舊低于60幀。
畫面對(duì)比 光線追蹤能帶來多大提升?
我們對(duì)比了特定場景開關(guān)DXR和DXR四個(gè)等級(jí)特效下的畫面。

從畫面中可以看到,光線追蹤的效果主要是體現(xiàn)在有光線反射的地方,如果場景中能夠形成鏡面的物體比較多的話,就會(huì)有比較明顯的效果,通常在火焰、水面、玻璃這些地方會(huì)有比較明顯的效果。

NVIDIA官方給出的效果圖
我們也為大家準(zhǔn)備了一個(gè)DXR效果對(duì)比視頻,從上到下從左到右依次為最高,高。中,低
總結(jié):光線追蹤的未來值得期待
對(duì)于光線追蹤這樣一個(gè)擁抱未來的技術(shù),可以算是這些年來顯卡更新上難得的一個(gè)非提升性能而是提升畫面的技術(shù),它的加入能實(shí)實(shí)在在地改變我們的游戲畫面,帶來更真實(shí)的效果,但付出的代價(jià)也是不小的,我們相信,一旦這扇門被打開,將是一個(gè)全新的體驗(yàn)和世界,未來驅(qū)動(dòng)和游戲都會(huì)有較大的優(yōu)化,而今年那些宣布將要支持光線追蹤的游戲也會(huì)逐漸完善,大家也會(huì)從游戲中實(shí)際體會(huì)到實(shí)時(shí)光線追蹤的魅力。
