NVIDIA 與 OpenUSD 聯(lián)盟(AOUSD)早前共同宣布成立 OpenUSD 聯(lián)盟材質(zhì)工作組,推動通用場景描述(OpenUSD)格式材質(zhì)交換的標準化。作為用于在 3D 世界內(nèi)進行描述、組合、模擬和協(xié)作的可擴展框架和生態(tài)系統(tǒng),OpenUSD 使開發(fā)者能夠構(gòu)建可互操作的 3D 工作流,開啟了工業(yè)數(shù)字化的新時代。
此外,NVIDIA Omniverse 還將為全新 OpenPBR 材質(zhì)模型提供原生支持,該模型是一個由 Adobe 和 Autodesk 共同開發(fā)的基于 MaterialX 的 uber-shader 模型。該集成將為用戶提供可在各種應(yīng)用中使用的統(tǒng)一材質(zhì)界面。
標準化材質(zhì)交換
建立 OpenUSD 聯(lián)盟材質(zhì)工作組的初衷是為了定義 OpenUSD 中的材質(zhì)表示策略。該工作組的首要任務(wù)是利用 UsdShade 中的 OpenUSD 標準化 MaterialX 標準庫。
任何符合標準的 OpenUSD 實現(xiàn)都可以訪問一套通用的標準化著色器節(jié)點,無需依賴特定的著色器后端就能構(gòu)建可跨渲染器工作的材質(zhì)。需要長期穩(wěn)定標準定義的行業(yè)將受益于這一更新。開發(fā)者可以使用這些 OpenUSD 材質(zhì),并確信它們會在當前和未來的生態(tài)系統(tǒng)中發(fā)揮作用。
什么是著色器,它為什么重要?
我們使用著色器來描述計算機圖形中的材質(zhì)。著色器是一種由渲染器運行的程序,用于構(gòu)建材質(zhì)定義。著色器必須告訴渲染器材質(zhì)的結(jié)構(gòu),查看構(gòu)成其表面外觀各層的雙向散射分布函數(shù)(BSDF)以及光線如何在它們之間傳輸,然后描述如何在物體表面修改雙向散射分布函數(shù),通常的方式是通過讀取和組合紋理來改變表面外觀。
編寫這些程序的語言有很多種,不同的渲染器對它們的支持也各不相同。例如許多離線渲染器可以直接使用 C++ 編寫著色器并與它們的 API 相兼容,這意味著它們無法與其他渲染器互操作。
在實時應(yīng)用中,著色器通常使用 GLSL 或 HLSL 編寫。GLSL 和 HLSL 不止是能夠描述材質(zhì),比如在 Vulkan 和 DirectX 中運行計算工作負載等。GLSL 和 HLSL 是低級著色語言的例子,用戶必須直接用這種語言來編寫材質(zhì)的組成 BSDF。
NVIDIA 材質(zhì)定義語言(MDL)則是一種高級著色語言。MDL 將 BSDF 作為 Closure 提供給用戶,由用戶描述如何組合和改變 BSDF 以生成所需的外觀。
MDL 負責將高級定義轉(zhuǎn)換為底層著色代碼,以 HLSL、PTX、C++ 或其他語言實現(xiàn)該材質(zhì)。然后,渲染器直接使用生成的代碼評估材質(zhì)的外觀。相同的材質(zhì)定義可以在不同硬件平臺的渲染器上使用,并同時保持相同的外觀。
以這種方式描述的材質(zhì)可以編寫成單一的著色器,但用戶更常用 shader graph 來編寫材質(zhì)。借助 Shader graph,用戶能夠通過在圖形編輯器中插入著色器節(jié)點(shader node)來創(chuàng)建新的材質(zhì)。著色器節(jié)點通常映射到底層著色語言中的單個函數(shù)。
圖 1. 由 Omniverse 材質(zhì)編輯器擴展中的連接節(jié)點構(gòu)建而成的 UsdShade 圖形
通過使用 OpenUSD 的 UsdShade 基元作為節(jié)點,直接將材質(zhì)描述為 shader graph。節(jié)點的表示方法未指定。用戶必須為每個著色器提供一個實現(xiàn)方式,以確保它能與計劃使用的應(yīng)用程序一起打開 USD 圖層。OpenUSD 支持在不同應(yīng)用之間交換 3D 場景。為此,通用的材質(zhì)描述是必須的。
使用 MaterialX 將材質(zhì)描述為 shader graph
MaterialX 由學院軟件基金會(ASWF)托管,是一種獨立于渲染器的開源文件格式和庫,其用途是將材質(zhì)描述為 shader graph。它在標準庫中定義了一組通用節(jié)點。還描述了如何將節(jié)點連接成圖。MaterialX 可以表示為帶有自定義模式(.mtlx格式)的 XML 文檔,也可以直接在 OpenUSD 中表示為 UsdShade 節(jié)點圖。
MaterialX 使用可插拔的后端來生成可執(zhí)行代碼,其中最完整的是 MDL。當渲染器通過 OpenUSD 加載 MaterialX 材質(zhì)時,它會請求后端生成代碼。然后,后端為目標平臺生成底層代碼,渲染器可以執(zhí)行這些代碼來評估材質(zhì)。
OpenUSD、MaterialX 和 MDL 在高級描述中創(chuàng)建材質(zhì),這些材質(zhì)可在任何目標平臺上任何支持的渲染器之間共享,因此確保了視覺外觀的一致性。
圖 2. MaterialX 如何使用 MDL 后端為不同平臺生成代碼的示意圖
Omniverse 通過 MDL 后端原生支持 MaterialX,并可直接加載為 UsdShade 圖形,或者通過將 .mtlx 文檔引用到 OpenUSD 圖層中。
MaterialX 圖形可以任意大小且復雜,在極端情況下可能不適合實時使用。NVIDIA Omniverse RTX 渲染器使用 MDL distilling technology 將任意復雜的材質(zhì)轉(zhuǎn)換成緊湊的材質(zhì)表示方式,在保證最佳實時性能的同時保留材質(zhì)外觀。
OpenPBR:可在 Omniverse 和 MaterialX 中使用的 uber-shader
材質(zhì)圖形為用戶提供了創(chuàng)建各種材質(zhì)的最大靈活性。但在復雜的工作流中,往往更傾向于使用一個統(tǒng)治全局的材質(zhì)定義,即“uber-shader”。這種著色器可以直接使用,比如用于掃描的 PBR 紋理數(shù)據(jù),也可以作為在 shader graph 中進行進一步自定義的基礎(chǔ),省去了用戶從頭開始構(gòu)建整個材質(zhì)的麻煩。
去年,ASFA、Autodesk 和 Adobe 宣布推出新 uber-shader 模型 OpenPBR,并將其作為 MaterialX 內(nèi)的開放規(guī)范和參考實現(xiàn)進行開發(fā)。NVIDIA Omniverse 團隊正與 OpenPBR 工作組合作,完善新的著色模型,并在發(fā)布首個著色模型生產(chǎn)版本后在 Omniverse 中提供 OpenPBR 實現(xiàn)。
Omniverse 還將擁有一個新的 OpenPBR 材質(zhì)庫。開發(fā)者可以在任何 OpenUSD 階段使用這些以 OpenUSD 和 MaterialX 形式提供的材質(zhì)。該材質(zhì)庫提供了一個隨時可用、物理精確的材質(zhì)庫,可加速可視化應(yīng)用的構(gòu)建。
開始使用材質(zhì)交換
了解各種技術(shù)及其相互聯(lián)系對于使用計算機圖形處理材質(zhì)的開發(fā)者和內(nèi)容創(chuàng)作者至關(guān)重要。OpenUSD 與 MaterialX 和 MDL 提供了一種解決方案,可實現(xiàn)材質(zhì)在不同應(yīng)用程序和渲染器之間的無縫交換,從而實現(xiàn)材質(zhì)共享。
在 Omniverse 的支持和 OpenUSD 聯(lián)盟材質(zhì)工作組的不懈努力下,無縫交換、完整且物理精確的材質(zhì)描述將成為現(xiàn)實。
未來,該工作組將致力于在 OpenUSD 中添加完整的物理材質(zhì)定義,包括激光雷達、聲學和熱學特性等非可視數(shù)據(jù)。他們還將探索神經(jīng)材質(zhì)等新的材質(zhì)描述,并努力實現(xiàn) OpenUSD 材質(zhì)與 glTF 等其他系統(tǒng)之間的交換。
審核編輯:彭菁
-
3D
+關(guān)注
關(guān)注
9文章
2936瀏覽量
109079 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5181瀏覽量
105344 -
模型
+關(guān)注
關(guān)注
1文章
3456瀏覽量
49755 -
渲染器
+關(guān)注
關(guān)注
0文章
18瀏覽量
3292
原文標題:利用 OpenUSD、MaterialX 和 OpenPBR 實現(xiàn)虛擬世界中的無縫材質(zhì)交換
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Knight Rider采用GAN模型:AI和NVIDIA Omniverse為KITT帶來活力
NVIDIA Omniverse XR加速3D虛擬世界構(gòu)建
全新NVIDIA Omniverse ACE加速虛擬形象開發(fā)工作
GTC23 | NVIDIA 擴展 Omniverse Cloud,以推動工業(yè)領(lǐng)域數(shù)字化進程
探索NVIDIA AI和Omniverse加速設(shè)計創(chuàng)作
NVIDIA 知乎精彩問答甄選 | 查看 NVIDIA Omniverse 相關(guān)精彩問答

SIGGRAPH 2023 | NVIDIA 發(fā)布支持生成式 AI 與 OpenUSD 的重大 Omniverse 升級
SIGGRAPH 2023 | NVIDIA Omniverse 開啟通往 OpenUSD 廣闊天地的大門
Omniverse 資訊速遞 | SIGGRAPH 2023 最新發(fā)布與精彩視頻等你來解鎖!
NVIDIA 知乎精彩問答甄選 | 查看關(guān)于 NVIDIA Omniverse 的相關(guān)精彩問答

NVIDIA Omniverse中的物理模擬功能

評論