資料介紹
作者:Kristof Beets,Imagination Technologies PowerVR產(chǎn)品管理資深總監(jiān)
我們所處的世界充滿著由太陽(yáng)或其他人造光源發(fā)射出的數(shù)以億計(jì)的光線。當(dāng)光照射到物體表面時(shí),光線會(huì)以各種方式反彈、分散和反射,直至最終到達(dá)我們的眼睛。正是這種復(fù)雜的交互作用創(chuàng)造了我們的現(xiàn)實(shí)“視界”。光線追蹤是一種用于三維(3D)圖形的照明技術(shù),它可以模擬真實(shí)世界中的光線照射方式。雖然它能產(chǎn)生最逼真的效果,但是從傳統(tǒng)上看,其過程對(duì)于計(jì)算機(jī)而言還是過于復(fù)雜,以致無(wú)法實(shí)時(shí)創(chuàng)建三維圖形。
如今,它被廣泛用于為廣告和電影創(chuàng)建超逼真的渲染效果,但是在這些應(yīng)用中,即使利用當(dāng)今功能非常強(qiáng)大的計(jì)算服務(wù)器,生成每一幀數(shù)據(jù)仍需花費(fèi)數(shù)小時(shí)。光線追蹤是個(gè)時(shí)髦詞,作為實(shí)時(shí)圖形的發(fā)展方向,它令人們感到非常興奮(也有人將其視為炒作,這取決于你的看法)。在本文中,我們將認(rèn)識(shí)光線追蹤,并了解實(shí)現(xiàn)它的方法。
簡(jiǎn)化問題
在三維游戲中,場(chǎng)景由各種物體組成,當(dāng)這些物體組合在一起時(shí),就會(huì)形成數(shù)百萬(wàn)個(gè)三角形。光線追蹤最基本的功能就是發(fā)射出一條光線,然后沿著它在三維場(chǎng)景中的路徑來(lái)定位它所到達(dá)的第一個(gè)物體,進(jìn)而確定應(yīng)該如何對(duì)該物體進(jìn)行照明。然而,用場(chǎng)景中的每個(gè)物體去測(cè)試一條光線以確定它們是否相交,這樣的做法效率太低、計(jì)算成本太高,完全無(wú)法實(shí)時(shí)進(jìn)行。
因此,為了使用光線追蹤技術(shù),我們需要解決這一問題。

這可以通過建立光線追蹤加速結(jié)構(gòu)來(lái)實(shí)現(xiàn)。為了做到這一點(diǎn),我們可以圍繞整個(gè)游戲場(chǎng)景繪制一個(gè)方框,然后將其劃分為多個(gè)較小的方框,再將這些小方框細(xì)分為更小的方框,我們按這種方式不斷將方框進(jìn)行細(xì)分,直到小方框中的三角形數(shù)量達(dá)到便于管理的程度為止。我們將其稱為場(chǎng)景層次結(jié)構(gòu),它幫助我們將問題簡(jiǎn)化到一定程度,使現(xiàn)有的圖形處理器可以有效地進(jìn)行處理。
這種方法之所以有用,是因?yàn)楫?dāng)我們向游戲場(chǎng)景中發(fā)射光線時(shí),可以根據(jù)場(chǎng)景層次結(jié)構(gòu)逐層進(jìn)行檢查。首先,我們要檢查光線到底有沒有射入最大的方框(即我們的場(chǎng)景)。如果有,我們將繼續(xù)檢查下一層的小方框。在這個(gè)階段,我們會(huì)發(fā)現(xiàn)光線射入了一些方框,但沒有射入另一些方框。接下來(lái),我們可以不斷將光線未射入的方框排除在外,只重點(diǎn)關(guān)注光線射入的那些方框,直至我們找到光線與三角形相交的地方。至此,我們終于找到了自己的目標(biāo)。
這種層次結(jié)構(gòu)使我們能夠找到光線和三角形最近的交點(diǎn),而不必測(cè)試場(chǎng)景中的每個(gè)三角形。這極大地簡(jiǎn)化了問題,因此可以更快地完成處理過程。
在幾何處理階段(該階段硬件會(huì)完成物體的動(dòng)畫處理工作)之后,我們會(huì)將那些三角形置入一個(gè)稱為場(chǎng)景層次生成器的專用硬件中,該生成器可以生成上面所述的加速結(jié)構(gòu)。我們還添加了一些專門的光線/方框/三角形測(cè)試器,它們是專用的固定功能硬件,用于通過加速結(jié)構(gòu)進(jìn)行光線追蹤,并確定光線與三角形的交點(diǎn)。與使用軟件可編程管線相比,在專用硬件中完成所有這些操作要快得多,而且更節(jié)省面積和功耗。
那么,當(dāng)硬件確定光線照射到一個(gè)三角形之后,下一步該做什么?接下來(lái)我們會(huì)觸發(fā)一個(gè)片段著色器,這是一個(gè)小程序,可以確定該三角形特定位置的顏色,這一步和傳統(tǒng)的渲染方式基本相似。然后,通過該片段著色器程序,我們將更多的光線發(fā)射到三維場(chǎng)景中,隨著此過程的不斷重復(fù),就可以建立起我們的光線追蹤場(chǎng)景。
一致性問題
但是,現(xiàn)在我們又有一個(gè)新問題。我們向場(chǎng)景中發(fā)射了大量光線,那么該如何高效地進(jìn)行所有處理工作呢?我們需要從存儲(chǔ)器內(nèi)的加速結(jié)構(gòu)中獲取方框和三角形,并且當(dāng)每條光線每次照射到一個(gè)物體上時(shí)都會(huì)觸發(fā)一次片段程序。
不幸的是,光線是不穩(wěn)定的,它們不一定會(huì)沿著同一方向傳播。在專業(yè)術(shù)語(yǔ)中,我們將此描述為不一致性——這會(huì)帶來(lái)問題。不一致的數(shù)據(jù)訪問對(duì)現(xiàn)代的圖形處理器(GPU)來(lái)說(shuō)是不利的。這有點(diǎn)像在按字母順序排列的名片簿中查找信息,但給我們的名字卻是按完全隨機(jī)的順序排列的——這就需要我們不停地來(lái)回翻查,會(huì)占用寶貴的時(shí)間和精力。

更糟糕的是,當(dāng)光線隨機(jī)地向四處反彈時(shí),它們還會(huì)照射到不同的物體和三角形上,這些物體和三角形需要分別著色和添加陰影,這將觸發(fā)不同的著色器程序。然而,GPU喜歡以并行方式處理著色器。這正是GPU的強(qiáng)大之處:以大規(guī)模并行方式處理數(shù)據(jù)的能力使其比其他處理器(如CPU)更具優(yōu)勢(shì)。這是因?yàn)镚PU的算術(shù)邏輯單元(ALU)本質(zhì)上采用了單指令多線程(SIMT)方式。但是,如果每條光線會(huì)觸發(fā)一個(gè)不同的著色器,那么將無(wú)法在GPU上運(yùn)行,因?yàn)檫@需要多指令多線程(MIMT)架構(gòu),該架構(gòu)在芯片面積和功耗方面的效率都很低。
針對(duì)此問題的一種解決方案是采用Imagination Technologies開發(fā)的一致性引擎,該引擎可以追蹤光線,并且在場(chǎng)景中所有混亂的光線之間找到秩序。
如果你看下面的圖片,一開始可能會(huì)覺得光線是隨機(jī)的。但是,如果你更仔細(xì)地觀察,會(huì)發(fā)現(xiàn)實(shí)際上是存在一致性的。

為了更清楚地對(duì)此進(jìn)行解釋,請(qǐng)注意圖中物體的某些部分是如何反射相同黃色對(duì)象的。盡管看起來(lái)很混亂,但還是會(huì)發(fā)現(xiàn)有一些光線是沿著同一方向傳播的,并照射到了相似的對(duì)象上。我們的一致性引擎會(huì)對(duì)此進(jìn)行查找,并將這些光線分組,從而使它們更易于被GPU處理。這就是“魔法”,我們重新實(shí)現(xiàn)了高效的數(shù)據(jù)訪問和執(zhí)行,從而降低了處理的功耗以及對(duì)帶寬的需求。
混合渲染的好處
太好了,我們現(xiàn)在可以高效地進(jìn)行光線追蹤了。然而,正如我們前面說(shuō)的,現(xiàn)實(shí)世界中會(huì)有數(shù)以億計(jì)的光線向四面八方反射,從而形成我們眼睛看到的圖像。因此,即使考慮到我們實(shí)現(xiàn)的所有效率提升,使用光線追蹤來(lái)創(chuàng)建整個(gè)場(chǎng)景仍然是有問題的。那么解決方案是什么?混合渲染。
雖然傳統(tǒng)的柵格化渲染在如今是一種很好的方法,但它卻困擾于空間交互問題,例如燈光/陰影、反射和折射——而這些復(fù)雜的事情正是光線追蹤所擅長(zhǎng)的。通過混合渲染方法,我們可以同時(shí)利用兩者的優(yōu)勢(shì),對(duì)簡(jiǎn)單的物體使用柵格化渲染,然后從著色器發(fā)射一些光線,并有選擇性地創(chuàng)建數(shù)量有限的空間光線追蹤查詢,進(jìn)而創(chuàng)建超逼真的陰影、照明效果和精確的反射。通過使用這種混合渲染方法,我們極大地減少了所需追蹤的光線數(shù)量,這最終使我們實(shí)現(xiàn)了實(shí)時(shí)性能。
手機(jī)上的光線追蹤:真的會(huì)實(shí)現(xiàn)嗎?
答案很簡(jiǎn)單:是的,會(huì)實(shí)現(xiàn)。如今智能手機(jī)中的GPU相比其首次推出時(shí)已經(jīng)取得了巨大的進(jìn)步,這不僅體現(xiàn)在功能方面,在實(shí)際可實(shí)現(xiàn)的性能方面亦是如此。事實(shí)上,高端智能手機(jī)已經(jīng)突破了1 TFLOPS(每秒萬(wàn)億次浮點(diǎn)運(yùn)算)的計(jì)算壁壘,而這曾是專用游戲機(jī)的專屬能力。這其中的核心問題是效率。智能手機(jī)依賴于電池續(xù)航時(shí)間,而光線追蹤相比傳統(tǒng)的渲染方法更高效,因此它很有可能會(huì)很快地被添加到移動(dòng)設(shè)備體驗(yàn)中。
利用上述創(chuàng)新,Imagination可以實(shí)現(xiàn)高效的光線追蹤。在智能手機(jī)中,使用傳統(tǒng)的柵格化方法在游戲中“偽造”陰影和反射的成本非常高。在Unity或Unreal等現(xiàn)代游戲引擎中,反射是使用級(jí)聯(lián)陰影貼圖生成的。這需要多次渲染屏幕中的幾何體,并將陰影貼圖查找表寫入存儲(chǔ)器中,所有這些操作都會(huì)消耗周期和帶寬,并產(chǎn)生大量的GPU和系統(tǒng)功耗。
通過使用光線追蹤,我們可以向光源發(fā)射一條光線,如果該光線碰到了光以外的任何東西,我們就知道該片段處于陰影中。所以,使用我們簡(jiǎn)化且高度優(yōu)化的光線追蹤解決方案會(huì)簡(jiǎn)單得多,相比級(jí)聯(lián)陰影貼圖所需的預(yù)處理,它是一種功耗更低的解決方案。
在分析我們自2016年以來(lái)的原型光線追蹤硬件時(shí),我們發(fā)現(xiàn)相比陰影、反射和其他技術(shù),光線追蹤的功耗通常不到一半,但獲得的質(zhì)量卻高得多。這里需要意識(shí)到的是,一種復(fù)雜但“虛假”的技術(shù)比簡(jiǎn)單的光線追蹤技術(shù)功耗更高,而光線追蹤技術(shù)實(shí)現(xiàn)的效果卻逼真得多,這使得它不僅適合現(xiàn)代的高端智能手機(jī),而且是非常理想的選擇。
人工智能和超分辨率
雖然在智能手機(jī)中應(yīng)用光線追蹤是一種選擇,但我們同樣對(duì)云游戲的日益普及感到興奮,這得益于5G網(wǎng)絡(luò)和邊緣計(jì)算的發(fā)展。在云游戲中,我們的光線追蹤架構(gòu)所實(shí)現(xiàn)的帶寬和功效很可能也是至關(guān)重要的。

我們需要不斷地進(jìn)行創(chuàng)新,才能以更少的成本實(shí)現(xiàn)更多的成果,因此,我們對(duì)人工智能(AI)處理的飛速發(fā)展感到非常興奮。再加上神經(jīng)網(wǎng)絡(luò),它們可以與光線追蹤結(jié)合使用,從而提供更高的效率。例如,當(dāng)我們?yōu)榱颂岣咝蕛H追蹤相關(guān)光線時(shí),可能會(huì)得到含有噪聲的結(jié)果。神經(jīng)網(wǎng)絡(luò)在降噪方面有很好的前景,可以利用學(xué)到的“智能”來(lái)填補(bǔ)缺失的細(xì)節(jié)。這和現(xiàn)實(shí)中的工作方式是一致的,因?yàn)槲覀兊拇竽X也會(huì)填補(bǔ)有限的人類視覺系統(tǒng)留下的許多空白。

另一個(gè)極具潛力的概念是超分辨率。它同樣是利用神經(jīng)網(wǎng)絡(luò)的能力,去智能地學(xué)習(xí)如何填補(bǔ)缺失的細(xì)節(jié),以支持GPU以較低的分辨率進(jìn)行渲染,從而提高性能并降低功耗,同時(shí)仍然保持視覺質(zhì)量。
面向未來(lái)
毫無(wú)疑問,實(shí)時(shí)光線追蹤擁有光明的前景,這對(duì)于任何對(duì)三維圖形感興趣的人來(lái)說(shuō)無(wú)疑是令人興奮的。由于光線追蹤基于真實(shí)世界的物理原理,因此可以提供最高水平的真實(shí)感,同時(shí)相比我們迄今為止一直在使用的技巧和近似方法,它還可以提供很高的效率。低功耗的柵格化圖形處理、開創(chuàng)性的光線追蹤操作,再加上人工智能和神經(jīng)網(wǎng)絡(luò)的持續(xù)創(chuàng)新,所有這些結(jié)合在一起,有助于將圖形處理提升到一個(gè)新的高度。
作者簡(jiǎn)介:
Kristof Beets,現(xiàn)任Imagination Technologies的PowerVR產(chǎn)品管理資深總監(jiān),他已在Imagination工作超過19年,先后擔(dān)任過各種開發(fā)、產(chǎn)品和營(yíng)銷職位。
申請(qǐng)轉(zhuǎn)載文章
公眾號(hào):物理演示實(shí)驗(yàn)室(UPC-Phy-Demo-Lab)
- 三維立體激光切割機(jī)價(jià)格的影響因素
- 大陽(yáng)跑跑2 DY48QT-2發(fā)動(dòng)機(jī)三維圖下載 0次下載
- 基于分布式傳感的實(shí)時(shí)三維重建系統(tǒng) 15次下載
- 三維圖形引擎綜述 1次下載
- 基于OpenGL三維圖像繪制實(shí)現(xiàn)三維地形可視化 19次下載
- 基于虛擬現(xiàn)實(shí)的三維漫游校園系統(tǒng)設(shè)計(jì) 10次下載
- 基于雙目立體視覺的三維拼接和融合方法 5次下載
- 3D圖形環(huán)境中的鼠標(biāo)精確定位 0次下載
- AutoCAD三維繪圖教程
- 教育機(jī)器人三維軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于激光差頻掃描的水下三維圖像
- 基于OpenGL的數(shù)控仿真三維圖形的研究
- 基于Rhino3D開發(fā)平臺(tái)的鞋楦二、三維相互相轉(zhuǎn)換的設(shè)與實(shí)現(xiàn) 0次下載
- 基于POVRAY的三維全景圖像的計(jì)算機(jī)生成方法
- 基于MFC和OpenGL三維圖形的開發(fā)
- 圖形渲染的技術(shù)和原理:探索視覺效果的奇妙世界 975次閱讀
- 20個(gè)MATLAB三維圖像繪制的示例演示 2859次閱讀
- 一文詳解點(diǎn)云及三維圖像處理技術(shù) 3109次閱讀
- 手游光線追蹤的技術(shù)實(shí)現(xiàn)原理、工作流程與優(yōu)點(diǎn) 1585次閱讀
- 基于Imagination的PowerVR Photon光線追蹤架構(gòu) 1313次閱讀
- 光線追蹤技術(shù):一種顛覆AR/VR/XR的技術(shù) 3181次閱讀
- 韓國(guó)成功開發(fā)出基于硅的光學(xué)相控陣三維圖像傳感器LiDAR 1373次閱讀
- 以FPGA+DSP為核心架構(gòu)的實(shí)時(shí)三維圖像信息處理系統(tǒng)設(shè)計(jì) 1486次閱讀
- 光線追蹤算法匯總 1.7w次閱讀
- 光線投射,光線追蹤與路徑追蹤的概念與區(qū)別 1w次閱讀
- 一維、二維、三維電機(jī)的性能分析 3627次閱讀
- 三維激光掃描技術(shù)的特點(diǎn)_三維掃描技術(shù)的意義何在 3.9w次閱讀
- 三維掃描儀的應(yīng)用 6054次閱讀
- 基于FPGA的高精度三維成像聲吶系統(tǒng) 4101次閱讀
- 基于聲納探測(cè)技術(shù)的水下三維場(chǎng)景實(shí)時(shí)成像系統(tǒng) 1.5w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1491次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費(fèi)
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
- 0.23 MB | 4次下載 | 免費(fèi)
- 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論