即時全域光照(Real-time GI)一直是電腦圖形學的聖杯。
多年來,業界也提出多種方法來解決這個問題。
常用的方法套件透過利用某些假設來約束問題域,例如靜態幾何,粗糙的場景表示或追蹤粗糙探針,以及在兩者之間插值照明。
在虛幻引擎中,全局光照和反射系統Lumen這項技術便是由Krzysztof Narkowicz和Daniel Wright一起創立的。
目標是建立一個與前人不同的方案,能夠實現統一照明,以及類似烘焙一樣的照明品質。
近期,在SIGGRAPH 2022上,Krzysztof Narkowicz和團隊講述了他們建構Lumen技術之旅。
軟體光線追蹤-高度場
#目前的硬體光線追蹤缺少強大的GPU算力支援。我們不知道硬體光線追蹤速度有多快,甚至不知道新一代主機是否支援它。
因此,軟體光線追蹤方法運用而出。事實證明,它確實是一個非常好用的工具,可以用於縮放或支援有大量重疊實例的場景。
軟體光線追蹤提供了一個可能性,那便是可以使用各種各樣的追蹤結構,例如三角形、距離場(distance fields)、面元(surfels) ,或高度場(heightfields)。
在此,Krzysztof Narkowicz放棄了研究三角形,簡要研究了面元,但是對於那些需要相當高密度才能表示的幾何圖形,對其進行更新或追踪面元是相當昂貴的。
經過初步探索,高度場是最合適的,因其能夠很好地映射到硬體中,並提供表面表示和簡單的連續 LOD。
因為我們可以使用所有的POM演算法,例如最小-最大四叉樹,因此它的追蹤速度是非常快的。
此外,多個高度場可以表示複雜幾何,類似柵格化邊界卷層次結構。
若將其視為面元的加速結構也非常有趣,一個單獨的texel就是一個受限於常規網格的面元。
除了高度場,Lumen還有其他屬性,如反照率或照明,這樣就能夠計算出每次的照明。
在Lumen中,開發者將這張帶有表面資料的完整貼花式投影命名為卡片(Cards),即捕獲位置。
BVH 偵錯視圖
擷取位置
這裡最棘手的部分是如何放置高度場,以便捕捉整個網格。 Krzysztof Narkowicz稱,「其中一個想法是基於GPU的全局距離場。每一幀我們都會追蹤一小組主射線來尋找沒有被卡片覆蓋的射線。
接下來,對於每一個未發現的射線,我們將使用表面梯度遍歷全域距離場,以確定一個最佳的卡片方向和範圍,從而產生一個新的卡片。
全域距離場的捕獲位置
一方面,它被證實可以為整個合併場景產生卡,而不必為每個網格去生成卡。另一方面,事實證明它在實踐中相當挑剔,因為每次相機移動時都會產生不同的結果。
##另一個想法就是把每個相機移動時都會產生不同的結果。
##另一個想法就是把每個網格的卡片作為一個網格導入步驟。透過建立幾何學的BVH 來做到這一點,其中每個節點將被轉換為N 張卡。##如下:
#光線步進卡(高場)
#卡位置檢視
#這個方法在尋找一個好的位置時遇到了問題,因為BVH節點並不是放置卡片的好代理。
那麼,研究人員又提出了另一個想法:遵循紫外線展開技術,並嘗試聚類表面元素。
因為要處理數百萬個由Nanite提供的多邊形,因此他們將三角形換成面元。
同時,他們也切換到了一個較少的約束自由導向卡,以嘗試與表面匹配更好。
自由導向的卡片位置
#透過嘗試,這個方法對於簡單的形狀非常有效,但是在收斂到更複雜的形狀上就出現了問題。最後,Narkowicz又切換迴軸對齊的卡片,但是這次是由面元集群和每個網格生成的。
錐形追蹤
追蹤高度場的獨特性質還可以實現錐形追蹤。
錐形追蹤對於降低噪音非常有效,因為一個預先過濾的單個錐體追蹤代表了數千條單獨的射線。#######################光線追蹤### #########################錐形追蹤##########對於每個卡,開發者還儲存了一個完整的預過濾 mip-map鏈表面高度、照明和材料屬性。
在追蹤時,根據圓錐足跡選擇合適的步進光線,並對其進行射線追蹤。
#無卡邊和帶有卡片邊的追蹤
合併場景表示
在軟體中追蹤大量的非相干射線是非常慢的。理想情況下,可以使用單一的全域結構,而非多個高度場。
當錐形足跡越來越大時,實際上並不需要精確的場景表示,可以用更近似的表示來替代,以獲得更快的速度。
一個更複雜的場景,有數十張卡片來追蹤每個光線
第一個成功的方法是實現純體素圓錐跟踪,整個場景在運行時是體素化的,就像經典的“Interactive Indirect Illumination Using Voxel Cone Tracing”一文中的那樣實現。
#體素圓錐追蹤
光線步進卡繼續與體素錐追蹤
而這種方法的主要缺點是,由於場景幾何體的過度融合而導致洩漏,這種現像在追蹤粗低映射時尤其明顯。
帶有透明度的體素
最早的追蹤合併表示的方法是,對全域距離欄位和使用全域每個場景卡的著色命中進行錐形跟踪。即遍歷一個 BVH,找出場景中的哪些卡片會影響採樣點,然後根據錐形足跡對每張卡的適度滑步水平進行採樣。
本文放棄了這個方法,因為當初沒有考慮只用它來表示遠場軌跡,而是把它看作是高場光線步進的直接替代。有點諷刺的是,這種被拋棄的方法與我們兩年後最終達成的解決方案最為接近。
第一個示範
到這裡,已經可以產生一些相當不錯的結果了:
儘管如此,還是遇到了許多圖形洩漏的問題,而且在這個簡單的場景中,即使在一個高階PC GPU 上,效能也不是很理想。
為了解決洩漏問題,以處理更多的實例、在PS5上以8毫秒以下時間完成處理。這個demo堪稱是真正的催化劑。
與以往的方案相比,第一個變化也是最大的變化是,用距離場追蹤取代高度場追蹤。
為了遮蔽生命點,從卡片上插入生命點的光線,因為距離場沒有頂點屬性,這樣,未覆蓋的區域只會導致能源損失,而不是洩漏。
基於同樣的考慮,將體素錐形追蹤改為全域距離場射線追蹤。
同時,我們也做了很多不同的最佳化,並透過快取方案對Lumen的不同部分進行了時間分流。值得注意的是,如果沒有錐體追踪,我們必須更積極地去噪和緩存追踪,但這又是一個漫長而複雜的故事。
這是我們發送第一個演示後的最終結果,在PS5上一直低於8ms,包括所有共享資料結構的更新,例如全域距離欄位。目前的性能表現甚至更好了,例如最新demo的完成時間接近4毫秒,品質上也有明顯的改進。
尾聲
總之,本文對整個Lumen進行了全面重寫,還有許多不同的想法沒有實施。另一方面,有些東西被重新利用。就像最初我們用卡片作為追蹤表示,但現在用來作為快取網格表面的各種計算方式。和軟體追蹤類似,開始是我們主要的追蹤方法,主要是圓錐體追踪,但最後成為一種縮小規模和支持具有大量重疊實例的、複雜重度場景的方法。
以上是超逼真渲染!虛幻引擎技術大牛解讀全局光照系統Lumen的詳細內容。更多資訊請關注PHP中文網其他相關文章!

大型語言模型(LLMS)的流行激增,工具稱呼功能極大地擴展了其功能,而不是簡單的文本生成。 現在,LLM可以處理複雜的自動化任務,例如Dynamic UI創建和自主a

視頻遊戲可以緩解焦慮,建立焦點或支持多動症的孩子嗎? 隨著醫療保健在全球範圍內挑戰,尤其是在青年中的挑戰,創新者正在轉向一種不太可能的工具:視頻遊戲。現在是世界上最大的娛樂印度河之一

“歷史表明,儘管技術進步推動了經濟增長,但它並不能自行確保公平的收入分配或促進包容性人類發展,”烏托德秘書長Rebeca Grynspan在序言中寫道。

易於使用,使用生成的AI作為您的談判導師和陪練夥伴。 讓我們來談談。 對創新AI突破的這種分析是我正在進行的《福布斯》列的最新覆蓋範圍的一部分,包括識別和解釋

在溫哥華舉行的TED2025會議昨天在4月11日舉行了第36版。它的特色是來自60多個國家 /地區的80個發言人,包括Sam Altman,Eric Schmidt和Palmer Luckey。泰德(Ted)的主題“人類重新構想”是量身定制的

約瑟夫·斯蒂格利茨(Joseph Stiglitz)是2001年著名的經濟學家,是諾貝爾經濟獎的獲得者。斯蒂格利茨認為,AI可能會使現有的不平等和合併權力惡化,並在一些主導公司手中加劇,最終破壞了經濟上的經濟。

圖數據庫:通過關係徹底改變數據管理 隨著數據的擴展及其特徵在各個字段中的發展,圖形數據庫正在作為管理互連數據的變革解決方案的出現。與傳統不同

大型語言模型(LLM)路由:通過智能任務分配優化性能 LLM的快速發展的景觀呈現出各種各樣的模型,每個模型都具有獨特的優勢和劣勢。 有些在創意內容gen上表現出色


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1
強大的PHP整合開發環境