對于了解3D圖形技術的人來說這個行業正在發生一件真正令人興奮的事情——實時光線追蹤技術的發展。它通常被描述為計算機圖形學的“圣杯”,光線追蹤技術是使用一種模擬真實世界光線行為的技術來生成3D場景,從而為開發人員提供工具來制作令人難以置信的逼真視覺效果。2016年Imagination公司推出了世界上首款專用的光線追蹤加速器。它所提供的強大性能使得該項技術能夠應用到實際場景中,2018年英偉達(NVIDIA)為個人臺式電腦推出了硬件平臺來支持他自己版本的技術,并命名為”RTX”。
在繼續深入之前,我們有必要了解一下為什么光線追蹤技術如此的重要。光線追蹤為開發人員提供了確定場景結構的工具,提供了一種直觀的方法來確定3D場景中對象之間的關系,其中一個例子就是反射。假如在一款游戲中有汽車、水坑和地面上熊熊燃燒的火,可是畫面里我們卻看不到火光,采用光柵化技術火光不能反射到汽車窗戶和水坑上,但通過光線追蹤技術火焰的反射效果會真實的呈現在屏幕上,這不僅僅是為了創造更加完美的圖像,而且還會對游戲玩法產生根本性的影響。想象一下一個敵人匍匐在一個有窗戶的地方,玩家躲在角落里,通過光線追蹤玩家可以看到敵人在窗戶上的倒影,如果采用光柵化技術則需要大量的工作。
光線追蹤技術所能夠帶來的自然效果正是它多年來一直被主要的電影制片廠用于動畫電影和效果創作的原因。皮克斯電影“汽車總動員(Cars)”中閃電麥昆(Lighting McQueen)的閃亮反光、“鋼鐵俠(Iron Man)”的反光服以及“變形金剛(Transformers)”中的偽裝機器人都是得益于光線追蹤技術。
你可能會問,既然光線追蹤技術如此之好,為什么用它來創建游戲和其他3D場景還不是一項標準呢?原因是從計算性能的角度來看,它的代價非常的“昂貴”,超出了傳統硬件的能力范圍。顧名思義當跟蹤光線時處理器必須跟蹤從光源發出的所有光線,并計算每個光線如何與場景中的每個對象和表面交互。當每一束光線照射到一個物體時,根據物理表面的類型,它可能會被吸收、反射、折射或者被散射,這可能會產生數千條額外的光線,而且都需要進行跟蹤計算,這個過程被稱為全局光照。光線追蹤的性能度量單位是每秒數百萬條光線,這是理論上的度量標準,類似于GPU的填充率單位GPixels/sec和GPU的計算性能單位GFLOPS。
在電影制片廠強大的工作站可以配備高端的顯卡,這會非常的耗電,它可以不計時間成本和功耗來在本地構建場景中所需要的光線情況。然而對于便攜設備或汽車上的儀表則無法完成這樣的處理過程,需要的效果要達到每秒60幀(fps)或更高,這同時會受到移動電源電量的限制。
為什么我們要采用光柵化技術?
由于這些限制3D圖形的標準是一種稱為光柵化的技術,即使用三角形網格來創建3D對象,然后會被映射到一個二維平面上進行紋理和陰影的處理,這種方式相比光線追蹤對于計算性能的要求更低一些,并且由于其高度并行的特性,現在GPU已經被高度的優化從而更加有效的分析和處理陰影三角形。
然而決定每個像素外觀的著色器只能“偽造”真實世界的燈光,這限制了真實感,雖然采用基于光柵化的技術可以用來模擬光線追蹤,比如高光材質,但是計算負載會增加,處理帶寬會增大,整體能耗成本也大大提高,同時會增加復雜性使得效率明顯降低,因此權衡各方面的情況采用光柵化技術模擬光線追蹤效果是不合適的。
與光柵化相比,光線追蹤是一種內在優雅的解決方案,它的渲染算法可以用來創建不依賴陰影映射(Soft Shadow)或其他光照(Lighting)等工具的光照陰影效果。舉個例子,在柵格化中動態立方體(Cube Map)映射經常被用來模擬反射,然而這些不僅耗費計算性能和帶寬,而且由于分辨率的限制,當更新和進行像素化時還會有延遲問題。類似地級聯陰影映射(Cascaded Shadow Map)它使用百分比的過濾方式來確定軟陰影效果,這就需要額外的幾何處理、計算、像素著色等大量的工作,并且消耗額外的帶寬。那么這些問題在光線追蹤看來,都是開銷極小的微不足道的問題。
這并不是說光線追蹤就不復雜,需要專業的知識有效的利用它,一旦這項技術被理解并被內置到工作流程中就會讓開發人員更加有效率的工作,讓他們更加專注于應用程序方面的開發。
為了將圖形技術提升到一個新的水平,轉向光線追蹤技術是很有意義的,下圖是Imagination在2012年首次發布并展示了光線追蹤架構發展過程。
PowerVR光線追蹤技術的發展
從另一個角度來看
Imagination公司的光線追蹤技術做了兩件開創性的事情,首先我們推出了“混合渲染”的概念,傳統的光柵化技術用于大部分場景,而光線追蹤技術用于最重要的部分,即反射和陰影,從而大大降低了所需的計算性能和帶寬。
第二種方法是使用一種叫做“反向光線追蹤”的技術,這推翻了光線的概念,從光源發出的光線經過周圍場景的發射最終到達我們的眼睛,相反,光線從觀察者或“相機(camera)”投射到場景中,當光線到達表面時就可以被追蹤到光源,如果不能追蹤到光源那么就不需要計算了,這樣就大大降低了計算的復雜度。
光線追蹤將光線投射到場景中來構建算法
NVIDIA在其新的基于圖靈架構的顯卡上采用了類似的方法,傳統的光柵化硬件和專用的芯片相結合,專門設計用于加速一些光線追蹤的計算。當然不提供相應的API和軟件的硬件是沒有用的,NVIDIA已經與微軟合作使得DirectX12 API開始支持光線追蹤,而采用PowerVR光線追蹤的開發人員可以通過開放標準使用OpenGL ES?和Vulkan?擴展庫。
隨著游戲“戰地5”的更新補丁提供對RTX的支持,開發者DICE首次將光線追蹤引入主流市場,需要注意的是由于性能的原因,光線追蹤只在游戲中應用于發射面,如汽車面板和水坑,陰影仍然需要采用光柵化處理。盡管如此在游戲中啟用光線追蹤功能所帶來的巨大性能沖擊還是招致了一些產品評論者的批評,尤其是考慮到這款顯卡的購買成本超過了1200英鎊——這是消費級顯卡有史以來最高的價格。
值得注意的是“戰地5”是第一款支持RTX的上市游戲,Epic公司還承諾提供更多的技術支持,同時還宣布支持其廣泛使用的虛幻引擎,看著這些發展如何影響市場將是一件非常有趣的事情。
盡管圍繞著NVIDIA RTX顯卡的發行和游戲中的性能存在諸多問題,但讓實時光線追蹤成為現實是一項值得關注的進步,應該受到每一個關心圖形技術發展的人的贊賞。
不同的架構如何進行比較?
Imagination公司最初推出的“Wizard”光線追蹤GPU結合了PowerVR Series6 GPU和光線追蹤單元(RTU),專用于加速光線追蹤,而且在智能手機功率范圍之內(采用28nm工藝技術,相比現在的7nm工藝(提供更高的密度,功耗更低)落后很多)。我們的硬件比傳統的GPU能夠快100多倍,這使得光線追蹤第一次成為現實。Imagination公司在這方面領先于市場,到2016年已經生產出集成到PCIe評估辦卡的器件,用于演示和開發的目的。到目前為止PowerVR光線追蹤相關專利已經超多220項,包括已經授權和正在申請中的。
將Imagination的架構與NVIDIA的解決方案進行比較是非常有趣的,PowerVR光線追蹤在硬件上提供了一個場景層次生成器(SHG),SHG生成一個邊界體積層次數據結構,該結構的設計可以大大提高了檢測哪些三角形與哪些光線相交的效率。使用傳統蠻力的方式需要測試每個三角形和每一條光線,這在計算上代價太大而且無法做到實時執行。
PowerVR光線追蹤
PowerVR場景層次結構生成器將場景分割為一個由包圍框組成的層次結構,本質上是一個包含所有場景的框架,然后按層次將其分割為更小的模塊,直到最小的模塊包含數個三角形模型。這種分層方法通過檢查光線的交叉,然后反向追蹤直到找到正確的三角形,從而可以減少測試的數量。
雖然Imagination和NVIDIA的核心在硬件上都包含光線/模型盒的交集,并且都使用了包圍體層次結構(BVH)數據結構,但是在硬件上只有Imagination擁有場景層次生成器(SGH),這意味著我們能夠更有效的支持動態幾何模型場景(比如游戲中的動畫角色)。
PowerVR的另一個關鍵區別點是可選擇模塊,稱為光線相關引擎(Ray Coherency Engine)。當光線照射到三維場景中的天然材料時,它們往往會隨機散射,因此不太可能是相關的。這種隨機光線的行為意味著當光線被處理時它們會在不同的方向碰撞和發散,從而與不同的盒子/三角形模型相交,這大大降低了內存訪問效率,從而降低了性能。相關引擎發現光線之間的共性,然后將它們組合在一起,從而提高芯片的運行效率。
AMD目前還沒有推出專門用于光線追蹤的硬件,而且使用著色器來執行所有光線追蹤計算,這樣就導致性能大大的降低了。
NVIDIA RTX
由于可以放入場景的光線數量有限,為了在可接受的幀率下產生高質量的結果,需要對圖形進行去噪處理,NVIDIA使用Tensor核心來實現這一功能,而Imagination則使用PowerVR神經網絡加速器(NNA)來執行這一重要的后處理操作。
我們經過驗證的解決方案是非常高效的,Wizard SoC僅需要2W的功率就可以正常運行,而使用較老的28nm工藝技術構建的演示板卡則需要10W左右的功率,以600MHz處理峰值速率為300MRay/sec。
NVIDIA聲稱圖形芯片在1.5GH/z時處理速率可達到8GRay/sec,是時鐘頻率的2.5倍,功率效率為225W。在2.5x時鐘條件下PowerVR光線追蹤性能可達到750MRay/sec,甚至還可以達到8GRay/sec的性能,因此我們可以合理的得出結論,我們在現代SoC實現的解決方案將比NVIDIA的方案更加的高效節能。
AMD光線追蹤
想象一下其中的可能性!
現在光線追蹤的第一次嘗試已經進入到主流消費者的視野,他們可能想要看到更多的進展。一旦玩家開始意識到光線追蹤所帶來的好處,他們就會希望自己的移動設備、游戲機甚至汽車也能夠有同樣的體驗,光線追蹤還可以為許多視覺體驗帶來巨大的價值。廚房零售商可以進行3D渲染,使客戶可以看到他們新買的產品,光線追蹤可以把展示效果提升到新的水平。
光線追蹤可以用于增強數字儀表和3D汽車模型的真實感,它可以從相機上獲取數據,準確的將環境光反射到3D汽車模型上,這樣司機就可以更準確的判斷距離。
雖然AR和VR應用還沒有進入到主流市場,但仍然有很多人相信它們最終會成為主流。當涉及到VR時為了確保一切正常還需要可變采樣率(variable sample rates)和注視點渲染技術(foveated rendering),結合我們的混合光線追蹤技術實現起來更加的容易。
在本地處理還是放在云服務端?
雖然NVIDIA的解決方案專為功耗不高的游戲PC機而設計,但我們注冊專利的光線追蹤技術,設計理念以“移動優先”,是一種理想的選擇,可以從電池供電的設備(如智能手機)擴展到便攜式或永久供電的游戲機平臺。
基于云計算的游戲也被廣泛預測將作為本地硬件的補充,并最終取代使用互聯網的高性能游戲架構,為使用低配置的玩家提供高質量的游戲體驗。然而功耗成本和散熱管理是服務器集群面臨的關鍵挑戰。光線追蹤在這種情況下是非常有效的,事實上可以幫助更多基于云服務的游戲提升體驗效果。游戲中每個玩家的狀態信息可以進行實時更新然后發送給服務器上的其他玩家,光線追蹤技術用于生成每個玩家獨特的場景視角,而不是采用光柵化來處理每個視角中的幾何模型。這可以大大降低服務端的系統功耗,同時帶來驚人的視覺效果。
光線追蹤是一項顛覆性的技術,有望徹底改變3D圖形技術的發展。Imagination公司推出的PowerVR光線追蹤是一種可廣泛使用的可授權的架構,能夠支持獨立的光線追蹤處理器或者混合光線追蹤/光柵化平臺。如果你想要創建能夠以較低的成本和更高效的方式來展示最先的圖形效果的產品,那么你現在就應該和Imagination取得聯系。
-
光線追蹤
+關注
關注
0文章
183瀏覽量
21473
原文標題:關注光線追蹤技術
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論