在先前舉辦的華為開發者大會2022(HDC)上,華為通過3D數字溪村展示了自有3D引擎“HMS Core 3D Engine”(以下簡稱3D Engine)的強大能力,作為一款高性能、高畫質、高擴展性的3D引擎,3D Engine不僅能通過實時光追、水體渲染、體積云霧、多維GPU粒子系統等技識訓原真實世界的物理表現,對于大規模數字世界的實時渲染,3D Engine同樣也能為開發者提供有力的技術支持,
大規模數字世界的需求與挑戰
今天,如何更好地實作大場景下的實時渲染,已經成為行業的熱門話題,相關技術在眾多領域都有著廣闊的應用前景,我們可以明顯感受到,從3D游戲到虛擬現實,從三維GIS到數字城市,涉及場景的規模都在呈指數級增長,部分游戲中的世界地圖甚至沒有邊界,可以說,大規模場景的實時互動渲染能力正在成為構筑數字世界的基礎設施,
然而,這并非易事,
場景規模的擴大帶來的結果就是海量的內容和資料,一個城市涉及的物件數差不多是百萬級,面片數更是可能達到億級,而硬體配置卻始終是相對有限的,即使再高級的硬體配置也有力不從心的時候,
資料和硬體之間的矛盾,對3D引擎的大場景實時渲染能力提出了挑戰:
? 由于物件、網格、材質等內容數量太多,受限于顯存容量,傳統的全場景預先加載方式無法實作;
? 在傳統3D繪制模式下,GPU的算力不足以支撐萬級規模物件數和億級規模面片的實時渲染;
? 如果使用流式加載場景的方式,可以實作一邊渲染一邊加載資料,但需要預處理場景資料,諸如磁區分層、模型合并、材質合并、紋理烘焙等預處理往往極為耗時,幾萬個物件就需要小時級的等待,且僅支持場景中靜止不動的物件,

譬如上圖這個服務器大樓,三角面片數達到了千萬級,并且有將近萬件的模型,為了實作實時渲染,通常需要通過HLOD的方式將整個場景進行Spatial-Coherent的層次重組,

類似于右圖紅圈所示,以不同半徑為一個空間節點,將圈圈內的模型進行合并處理,從而降低場景物件的遍歷數量,提高繪制性能,而這個預處理操作本身就需要耗費近一個小時,大大增加了除錯和開發成本,
那么,HMS Core 3D Engine將如何應對挑戰,構建大規模場景的實時渲染能力?
Hi-Mesh層級網格渲染加速技術
為了解決這三個“放不下”、“算不了”、“等不起”的問題,華為2012菲爾茲實驗室基于HMS Core 3D Engine自研了“Hi-Mesh”層級網格渲染加速技術,針對場景中的資產進行多維度、多層級的結構優化,確保場景結構在生成、遍歷、處理程序中的高效,譬如針對一個大規模場景,可將其數字內容進行多維磁區:
- 按空間結構磁區
3D場景中利用物件原生隱含的空間屬性,進行快速位置編碼和索引,大幅降低傳統樹形結構的線性遍歷耗時;
- 按視角空間分層
利用視角的局限性,對場景中的物件進行不同細節層次的區分或合并處理,從而降低場景的資料量;
- 按內容特征分組
利用場景物件的特征,如按網格、材質的同源性進行分組,從而使用特定優化的繪制指令來強化它們的繪制效率;
- 按拓撲連接分片

將模型網格進行更精細粒度的分片,實作高效率的剔除和遮擋操作,優化實時渲染的性能,
Hi-Mesh架構圖
基于將場景化整為散的原則,以高效率的空間/視角結構來實作多層級的資料優化,并以GPU驅動的方式,最終實作百萬級物件、億級片面的數字世界的實時渲染,

一千個物件實時動態更新
為了實作上述的操作,3D Engine使用了一種隱式編碼樹的空間層次結構——“Hi-Mesh Tree”,不同于傳統基于鏈表形式的空間結點樹的方式,3D Engine通過一種常量級性能的構造和遍歷方法,相較現有的商業引擎,大規模場景的實時渲染性能可提升15%~120%,此外,還可以大幅提升三維空間場景組織結構的生成效率,甚至達到毫秒級,大大降低了作業流的時間成本,

資料來源: 華為內部實驗室測驗結果
同時,3D Engine還使用了基于GPU驅動的Cluster Rendering (GDCR)繪制技術,
GPU驅動在業界已有一些探索和應用,其理想目標是用一個Draw Call(DC)來繪制整個場景,以充分發揮GPU的并行流水線能力,實作渲染性能的提高,下圖是Ubisoft 在Siggraph 15上提出的GPU驅動管線的架構圖,其核心思想就是將原本基于CPU的可視性檢測處理遷徙到GPU上,利用GPU的并行和可編程能力,提供高并發、不同粒度的可視性檢測能力,從而大幅提高渲染性能,

3D Engine為了更充分的實作GPU驅動的效率,對GPU驅動的管線節點、資料傳輸、圖形資產進行深度優化和耦合,將場景下的所有3D物件在GPU上進行各個維度(包圍盒、實體、片區、三角面)的可視性剔除,配合多層的重組(材質、頂點),從而實作以最少量的繪制指令來實作場景的光柵化和著色,同等規模場景下相比傳統模式的渲染性能實作了翻倍,

同等規模場景下渲染性能對比
可以預見,未來的數字世界無論是元宇宙、數字孿生、還是開放大世界,趨于龐大的豐富多彩場景都將會是不可或缺的組成部分,在Hi-Mesh技術的加持下,3D Engine得以通過高效的空間層級結構和GPU友好的繪制管線,大幅提高大規模數字場景下的實時渲染能力,使場景中的3D內容“盡情放”、“更快看”、“少等待”,幫助開發者大大提升生產力,
關于HMS Core 3D Engine
3D Engine是HMS Core面向行業伙伴推出的重要圖形能力,不僅提供高性能、高畫質、高擴展性的實時3D引擎,配合低代碼的可視化開發,能夠幫助開發者便捷高效地創造出高品質的3D內容和體驗,如需進一步了解更多資訊,請訪問: developer.huawei.com/consumer/cn/hms/3d-engine/?ha_source=hms1
了解更多詳情>>
訪問華為開發者聯盟官網
獲取開發指導檔案
華為移動服務開源倉庫地址:GitHub、Gitee
關注我們,第一時間了解 HMS Core 最新技術資訊~
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/540426.html
標籤:其他
