實時硬件級光線追蹤:移動游戲圖形的變革時刻
2021-12-20
作者:Kristof Beets,,Imagination Technologies技術(shù)前瞻副總裁
來源:Imagination Technologies
你最后一次在電腦或游戲機上玩電子游戲是什么時候,?如果它是最受歡迎的游戲之一,,你可能已經(jīng)注意到其圖形是多么的逼真,。今天,,最尖端的PC 和游戲機中的圖形正接近我們在電影中看到的真實圖片,。
在創(chuàng)建照片級真實感實時計算機生成圖形時,,最重要的元素之一是場景的照明,。模擬真實的燈光和陰影時,,傳統(tǒng)的3D圖形渲染方法——光柵化——并不是最有效的技術(shù)。這是因為光柵化的工作原理是將虛擬多邊形網(wǎng)格化為3D模型,,然后將其分解為必須單獨著色的像素,,這一過程需要極其繁重的工作和計算資源,并且通常需要復雜的開發(fā)技術(shù),。
電影動畫師早就知道這一點,,是以他們使用光線追蹤技術(shù)來創(chuàng)建全局照明、陰影和反射等效果,。光線追蹤是一種簡單并準確地模擬光行為的方法,,它可以使場景看起來更逼真,而且工作更少,。這項技術(shù)更符合人眼看世界的原理,,光通過環(huán)境中的物體產(chǎn)生反射,,并基于物體的材質(zhì)吸收/反射光線。
光線追蹤可以實現(xiàn)更逼真的效果,,開發(fā)人員可以使用它為游戲玩家創(chuàng)造更沉浸式的體驗,。同時,使用光線追蹤比使用傳統(tǒng)光柵更容易創(chuàng)建這些效果,,因此開發(fā)人員可以騰出時間來處理游戲的其他方面工作,。
然而,在游戲中使用光線追蹤技術(shù)的缺點是,,要獲得真正的沉浸式體驗,,光線追蹤必須實時完成。這意味著圖像必須在幾秒鐘內(nèi)渲染完成,,這使得它在處理計算和資源方面成本昂貴,。
如今,市場上的硬件可以在游戲主機和 PC 游戲中實現(xiàn)實時光線追蹤效果,,但它有選擇地只用于照亮場景中最關鍵的對象,,在某些情況下,開發(fā)者可以決定如何使用它,??紤]到性能限制,開發(fā)者們可以決定是使用它生成反射還是陰影,, 還是完全使用光線追蹤——可以選擇關閉以優(yōu)化幀率,。游戲性能是考慮的底線。
與前幾代技術(shù)相比,,目前帶有光線追蹤的硬件通過提供更多的光線追蹤處理來提高性能,,但它需要更大的芯片面積和更高的功耗。而當前在電源受限的設備中實現(xiàn)實時光線追蹤極具挑戰(zhàn),,因此這項技術(shù)尚未在移動游戲玩家的設備屏幕上大顯身手,。不過,據(jù)有關數(shù)據(jù)顯示,,移動游戲很快將占據(jù)全球游戲市場的52%(NewZoo, 2021年),,移動游戲的體驗成為未來發(fā)展不容忽視的方向。
移動設備中的圖形
即便沒有光線追蹤技術(shù)的幫助,,移動圖形的質(zhì)量仍在不斷提高,。隨著圖形變得越來越真實,使用傳統(tǒng)技術(shù)生成圖形的能力變得越來越復雜,,這正將性能,、帶寬和功耗要求推到了移動處理器的極限,。
陰影生成就是一個很好的例子,。陰影生成傳統(tǒng)上是通過級聯(lián)陰影貼圖(CSM, Cascaded shadow maps)完成的,,這一過程需要大量的幾何體處理、大量緩沖區(qū)的分配,、高分辨率下多個渲染目標的處理以及昂貴的著色器操作,。就處理周期、功耗和帶寬而言,,成本是巨大的,。而且,在進行了所有這些操作之后,,結(jié)果仍然不如使用光線追蹤更容易,,創(chuàng)建的結(jié)果那么真實。
使用光線追蹤技術(shù),,光線從單個像素發(fā)送到光源,,如果光線擊中某個物體,該區(qū)域?qū)⑻幱陉幱爸?。每像素一條光線使這成為一個簡單,、廉價和直接的過程,特別是在專用硬件到位的情況下,。傳統(tǒng)光柵化所遇到的許多分辨率問題,、偽影和其他挑戰(zhàn)(如避免浮動幾何體所需的偏移)在光線追蹤中并不存在。只要專用硬件能夠高效實施,,創(chuàng)建照明和陰影效果就是微不足道的挑戰(zhàn),。
今天,這個行業(yè)正處于交叉點,,使用陰影貼圖和其他傳統(tǒng)技術(shù)進行的近似操作正變得非常昂貴,,而實時光線追蹤正成為一種更高效的選擇。此外,,隨著摩爾定律接近尾聲,,我們不能再依賴可編程硬件仍然每兩年呈現(xiàn)指數(shù)級增長。因此,,要繼續(xù)加快光線追蹤技術(shù)的推進,,特別是電源有限的移動平臺,業(yè)界必須尋求高效設計的固定功能加速器解決方案,。
在移動設備中持續(xù)打造更好的圖形關鍵在于硬件和開發(fā)人員優(yōu)化技術(shù)效率,。
光線追蹤硬件現(xiàn)狀
實時光線追蹤技術(shù)長期以來一直是3D圖形的圣杯。光線追蹤可以以不同的性能和效率水平執(zhí)行,,為了闡明這一點,,Imagination建立了光線追蹤等級系統(tǒng)(RTLS),確定6級光線追蹤,,從0級到5級,。最初的硬件加速光線追蹤工作 - 我們稱之為"0級"的RTLS等級,,不是最佳的。這些解決方案的功能有限,,需要定制硬件和應用程序編程接口(API),。當然,這些解決方案并不能吸引開發(fā)人員,。然后,,市場發(fā)展到"1級"解決方案,該解決方案使用基于傳統(tǒng)GPU的軟件技術(shù),。這些解決辦法提供了更大的靈活性,,但離理想狀態(tài)還有很長的路要走。
我們今天在市場上看到的大多數(shù)光線追蹤技術(shù)(例如用于 PC 和游戲機)就是我們所說的"2 級"RTLS 解決方案,。該方案為光線追蹤的最基本和最廣泛的操作提供了專用硬件:針對三角形/盒的交集測試器,。將此操作放在固定功能硬件中可以實現(xiàn)更高的能效,但對移動設備來說仍不夠好,。因為依舊會將多個級別的光線追蹤處理運行在 GPU 上的shader,,這些處理階段對GPU的并行執(zhí)行引擎并不友好。這還導致傳統(tǒng)圖形性能和算術(shù)邏輯單元 (ALU)管線效率降低,,從而限制了總體吞吐量,。
當今市場上最復雜的光線追蹤解決方案位于3級。這些解決方案在專用硬件中實現(xiàn)更多的光線追蹤功能,,減輕了著色器的負擔,,提高了效率。在這個級別上,,通過遍歷邊界體積層次結(jié)構(gòu)(BVH)——光線追蹤的主要數(shù)據(jù)結(jié)構(gòu),,完整光線相交處理在專用硬件中實現(xiàn)。這提高了更復雜場景的光線追蹤效率,,并更好地轉(zhuǎn)移光線追蹤功能,,減少了對傳統(tǒng)圖形性能的影響。
然而,,這些解決方案仍然缺乏一個必要的組成部分,,它使得光線追蹤在移動設備成為可能:一致性排序。由于光線傾向于分散在許多不同的方向,,如果一致性問題沒有解決,,通常GPU帶來的諸多并行優(yōu)勢將丟失。這會導致較低的帶寬利用率,、復雜的數(shù)據(jù)訪問模式以及著色器管線處理效率降低,。雖然這些解決方案可能會聲稱實現(xiàn)超每秒千兆光線的處理能力,但它們的效率通常較低,與GPU 處理資源利用率低或內(nèi)存訪問限制有關,,這是由于光線在整個場景中散射造成的非相干的內(nèi)存訪問模式造成的,。
要在移動設備中實現(xiàn)實時光線追蹤,關鍵在于效率,,我們要利用 GPU固有的并行性,并開發(fā)優(yōu)化硬件的智能算法,。這需要更智能的硬件解決方案,。
智能光線追蹤硬件
業(yè)界必須超越3級硬件,才能在移動設備中實現(xiàn)實時光線追蹤,。在Imagination,,我們已經(jīng)為超過100億臺移動設備提供了3D圖形技術(shù)。我們知道如何在高效的硬件中提供令人驚嘆的圖形,。2016 年,,Imagination 的光線追蹤開發(fā)板已經(jīng)比當今市場上的解決方案復雜得多。現(xiàn)在,,我們?yōu)槭袌鰩砹?級RTLS光線追蹤解決方案,。
在4級解決方案中,邊界體積層次(BVH)的光線遍歷與3級一樣在專用硬件中完成,,更重要的是,,光線相干性排序也是如此。在這個過程中,,我們對同一個方向的光線進行分組,,允許大批量的處理充分利用GPU的并行計算能力。
長期以來,,我們一直利用GPU固有的并行性,,采用基于分塊的渲染等技術(shù),通過空間布局性分塊排序提高效率,。今天,,這是普遍接受的做法。現(xiàn)在,,我們將同樣的想法帶到了光線追蹤中,。通過這種方式,我們提高了寬ALU的總體利用率,,并顯著提高了測試效率,。對傳統(tǒng)圖形性能的影響微乎其微,因為我們幾乎完全將光線追蹤處理轉(zhuǎn)移到專用硬件中,,使著色器可用于其他非光線追蹤的圖形處理,。
我們的4 級 RTLS 解決方案代表了當今最高級的光線追蹤方案,并且很快將有采用該方案的設備上市。借助Imagination 4 級光線追蹤 IP(IMG CXT GPU IP),,公司可構(gòu)建高達 9TFLOPS 的 FP32 光照性能和超過 7.2G光線/秒 的光線追蹤性能,,同時提供比 2 級和 3 級解決方案高達 2.5 倍的功耗效率。
當我們推出IMG CXT時,,我們并沒有止步不前,。我們已經(jīng)在演示如何使用5級光線追蹤方案實現(xiàn)完全可編程的光線追蹤技術(shù)。
開發(fā)人員優(yōu)化技術(shù)
即使是最高效的硬件也需要技術(shù)輔助,,以在移動平臺上提供最佳的圖形質(zhì)量,。 移動設備的優(yōu)化更為重要,因為游戲機或PC在某種程度上承載了帶寬和功耗預算可用性過大的問題,。手機沒有這種蠻力耐受性,,任何東西都必須在微小的外形因素下工作,并基于微小電池提供的能量運行,。手機的特點意味著硬件必須由游戲引擎高效驅(qū)動,,以確保手機不會過熱,降幀速率,。這意味著,,為移動設備創(chuàng)建硬件的關鍵之一是優(yōu)化管理電池發(fā)熱帶來的影響。
我們告訴開發(fā)人員的第一件事是,,少即優(yōu):不是場景的每個像素都需要光線追蹤,。我們建議開發(fā)人員使用他們的光線追蹤預算,以達到最大的視覺沖擊和游戲體驗價值,。同樣,,它太復雜了,無法對每一個三角形的光線進行測試,。通過構(gòu)建一個有效的層次結(jié)構(gòu),,開發(fā)人員可以在確定要測試的三角形時提高硬件效率。構(gòu)建最佳加速結(jié)構(gòu)通常最好離線完成,。
開發(fā)人員還應避免所有暴力算法,。像軟陰影這樣的效果可以通過更智能的采樣器模式實現(xiàn),并結(jié)合空間過濾器,,而不是每個像素發(fā)出許多光線,。此外,大多數(shù)光線追蹤效果可以以較低的分辨率呈現(xiàn),,例如,,以四分之一分辨率進行處理,然后按比例放大,。然后,,可以使用圖像的時間和空間特性,使用去噪減輕因稀疏采樣帶來的光線追蹤噪聲。其中許多階段可以合并在一起,,在傳統(tǒng)GPU計算硬件上高效運行,。它也可以利用專用的神經(jīng)網(wǎng)絡加速引擎,這些引擎幾乎已經(jīng)在每一部手機上已經(jīng)存在,。
開發(fā)人員還可以使用許多其他技術(shù)來優(yōu)化移動設備,,例如用于全局照明的動態(tài)探測器、應用程序編程接口(API)的謹慎使用等,。歸根結(jié)底,,高效的光線追蹤硬件與智能開發(fā)優(yōu)化相結(jié)合將是實現(xiàn)移動設備實時光線追蹤的關鍵。
移動設備游戲規(guī)則的變革者
光線追蹤正在為新一代PC和游戲機實現(xiàn)更真實的圖形掀起新的浪潮,。這是有望引入移動設備的技術(shù),借助全新的高效專用硬件和設計技術(shù),。這是真正的游戲規(guī)則變革者,。它將把世界上最龐大的游戲玩家群體帶向開發(fā)者,為移動設備制造商提供一種新的差異化方式,,并實現(xiàn)全新的沉浸式移動用戶體驗,。