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