0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NVIDIA Omniverse 将为全新 OpenPBR 材质模型提供原生支持

NVIDIA英伟达企业解决方案 来源:NVIDIA英伟达企业解决方案 2024-06-14 11:23 次阅读

NVIDIA 与 OpenUSD 联盟(AOUSD)早前共同宣布成立 OpenUSD 联盟材质工作组,推动通用场景描述(OpenUSD)格式材质交换的标准化。作为用于在 3D 世界内进行描述、组合、模拟和协作的可扩展框架和生态系统,OpenUSD 使开发者能够构建可互操作的 3D 工作流,开启了工业数字化的新时代。

此外,NVIDIA Omniverse 还将为全新 OpenPBR 材质模型提供原生支持,该模型是一个由 Adobe 和 Autodesk 共同开发的基于 MaterialX 的 uber-shader 模型。该集成将为用户提供可在各种应用中使用的统一材质界面。

标准化材质交换

建立 OpenUSD 联盟材质工作组的初衷是为了定义 OpenUSD 中的材质表示策略。该工作组的首要任务是利用 UsdShade 中的 OpenUSD 标准化 MaterialX 标准库。

任何符合标准的 OpenUSD 实现都可以访问一套通用的标准化着色器节点,无需依赖特定的着色器后端就能构建可跨渲染器工作的材质。需要长期稳定标准定义的行业将受益于这一更新。开发者可以使用这些 OpenUSD 材质,并确信它们会在当前和未来的生态系统中发挥作用。

什么是着色器,它为什么重要?

我们使用着色器来描述计算机图形中的材质。着色器是一种由渲染器运行的程序,用于构建材质定义。着色器必须告诉渲染器材质的结构,查看构成其表面外观各层的双向散射分布函数(BSDF)以及光线如何在它们之间传输,然后描述如何在物体表面修改双向散射分布函数,通常的方式是通过读取和组合纹理来改变表面外观。

编写这些程序的语言有很多种,不同的渲染器对它们的支持也各不相同。例如许多离线渲染器可以直接使用 C++ 编写着色器并与它们的 API 相兼容,这意味着它们无法与其他渲染器互操作。

在实时应用中,着色器通常使用 GLSL 或 HLSL 编写。GLSL 和 HLSL 不止是能够描述材质,比如在 Vulkan 和 DirectX 中运行计算工作负载等。GLSL 和 HLSL 是低级着色语言的例子,用户必须直接用这种语言来编写材质的组成 BSDF。

NVIDIA 材质定义语言(MDL)则是一种高级着色语言。MDL 将 BSDF 作为 Closure 提供给用户,由用户描述如何组合和改变 BSDF 以生成所需的外观。

MDL 负责将高级定义转换为底层着色代码,以 HLSL、PTX、C++ 或其他语言实现该材质。然后,渲染器直接使用生成的代码评估材质的外观。相同的材质定义可以在不同硬件平台的渲染器上使用,并同时保持相同的外观。

以这种方式描述的材质可以编写成单一的着色器,但用户更常用 shader graph 来编写材质。借助 Shader graph,用户能够通过在图形编辑器中插入着色器节点(shader node)来创建新的材质。着色器节点通常映射到底层着色语言中的单个函数。

f9c88a40-2994-11ef-a4c8-92fbcf53809c.png

图 1. 由 Omniverse 材质编辑器扩展中的连接节点构建而成的 UsdShade 图形

通过使用 OpenUSD 的 UsdShade 基元作为节点,直接将材质描述为 shader graph。节点的表示方法未指定。用户必须为每个着色器提供一个实现方式,以确保它能与计划使用的应用程序一起打开 USD 图层。OpenUSD 支持在不同应用之间交换 3D 场景。为此,通用的材质描述是必须的。

使用 MaterialX 将材质描述为 shader graph

MaterialX 由学院软件基金会(ASWF)托管,是一种独立于渲染器的开源文件格式和库,其用途是将材质描述为 shader graph。它在标准库中定义了一组通用节点。还描述了如何将节点连接成图。MaterialX 可以表示为带有自定义模式(.mtlx格式)的 XML 文档,也可以直接在 OpenUSD 中表示为 UsdShade 节点图。

MaterialX 使用可插拔的后端来生成可执行代码,其中最完整的是 MDL。当渲染器通过 OpenUSD 加载 MaterialX 材质时,它会请求后端生成代码。然后,后端为目标平台生成底层代码,渲染器可以执行这些代码来评估材质。

OpenUSD、MaterialX 和 MDL 在高级描述中创建材质,这些材质可在任何目标平台上任何支持的渲染器之间共享,因此确保了视觉外观的一致性。

f9e4ea78-2994-11ef-a4c8-92fbcf53809c.png

图 2. MaterialX 如何使用 MDL 后端为不同平台生成代码的示意图

Omniverse 通过 MDL 后端原生支持 MaterialX,并可直接加载为 UsdShade 图形,或者通过将 .mtlx 文档引用到 OpenUSD 图层中。

MaterialX 图形可以任意大小且复杂,在极端情况下可能不适合实时使用。NVIDIA Omniverse RTX 渲染器使用 MDL distilling technology 将任意复杂的材质转换成紧凑的材质表示方式,在保证最佳实时性能的同时保留材质外观。

OpenPBR:可在 Omniverse 和 MaterialX 中使用的 uber-shader

材质图形为用户提供了创建各种材质的最大灵活性。但在复杂的工作流中,往往更倾向于使用一个统治全局的材质定义,即“uber-shader”。这种着色器可以直接使用,比如用于扫描的 PBR 纹理数据,也可以作为在 shader graph 中进行进一步自定义的基础,省去了用户从头开始构建整个材质的麻烦。

去年,ASFA、Autodesk 和 Adobe 宣布推出新 uber-shader 模型 OpenPBR,并将其作为 MaterialX 内的开放规范和参考实现进行开发。NVIDIA Omniverse 团队正与 OpenPBR 工作组合作,完善新的着色模型,并在发布首个着色模型生产版本后在 Omniverse 中提供 OpenPBR 实现。

Omniverse 还将拥有一个新的 OpenPBR 材质库。开发者可以在任何 OpenUSD 阶段使用这些以 OpenUSD 和 MaterialX 形式提供的材质。该材质库提供了一个随时可用、物理精确的材质库,可加速可视化应用的构建。

开始使用材质交换

了解各种技术及其相互联系对于使用计算机图形处理材质的开发者和内容创作者至关重要。OpenUSD 与 MaterialX 和 MDL 提供了一种解决方案,可实现材质在不同应用程序和渲染器之间的无缝交换,从而实现材质共享。

在 Omniverse 的支持和 OpenUSD 联盟材质工作组的不懈努力下,无缝交换、完整且物理精确的材质描述将成为现实。

未来,该工作组将致力于在 OpenUSD 中添加完整的物理材质定义,包括激光雷达、声学和热学特性等非可视数据。他们还将探索神经材质等新的材质描述,并努力实现 OpenUSD 材质与 glTF 等其他系统之间的交换。

审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 3D
    3D
    +关注

    关注

    9

    文章

    2928

    浏览量

    108469
  • NVIDIA
    +关注

    关注

    14

    文章

    5107

    浏览量

    104464
  • 模型
    +关注

    关注

    1

    文章

    3415

    浏览量

    49476
  • 渲染器
    +关注

    关注

    0

    文章

    18

    浏览量

    3271

原文标题:利用 OpenUSD、MaterialX 和 OpenPBR 实现虚拟世界中的无缝材质交换

文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Knight Rider采用GAN模型:AI和NVIDIA Omniverse为KITT带来活力

    NVIDIA 研究院 正在研发一种全新深度学习引擎,该引擎可以根据标准的 2D 图像来创建 3D模型,并可以在 NVIDIA Omniverse
    的头像 发表于 04-23 14:02 2352次阅读

    NVIDIA Omniverse XR加速3D虚拟世界构建

    用户现在可以通过 NVIDIA Omniverse 中的全新测试版 Omniverse XR 应用程序来制作真人比例大小的 3D 虚拟世界。
    的头像 发表于 06-13 11:38 1371次阅读

    全新NVIDIA Omniverse ACE加速虚拟形象开发工作

    Omniverse Avatar Cloud Engine(ACE)为游戏、聊天机器人、数字孪生和虚拟世界的开发者提供用于构建和部署交互式虚拟形象的云原生 AI 模型
    的头像 发表于 08-11 09:24 1081次阅读

    GTC23 | NVIDIA 扩展 Omniverse Cloud,以推动工业领域数字化进程

    2023 年 3 月 21 日 — NVIDIA 宣布将为部分企业提供 NVIDIA Omniverse Cloud 。此平台即服务(Pl
    的头像 发表于 03-23 06:50 691次阅读

    探索NVIDIA AI和Omniverse加速设计创作

    面对这个时代的发展机遇,NVIDIA 带来的是 Omniverse 平台。NVIDIA Omniverse 是一个启用多 GPU 的开放式云原生
    的头像 发表于 06-13 15:40 668次阅读

    NVIDIA 知乎精彩问答甄选 | 查看 NVIDIA Omniverse 相关精彩问答

    NVIDIA 带来知乎精彩问答甄选系列,将为您精选知乎上有关 NVIDIA 产品的精彩问答。 本期为问答甄选第十期 ——  查看 NVIDIA Om
    的头像 发表于 08-01 19:55 606次阅读
    <b class='flag-5'>NVIDIA</b> 知乎精彩问答甄选 | 查看 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b> 相关精彩问答

    SIGGRAPH 2023 | NVIDIA 发布支持生成式 AI 与 OpenUSD 的重大 Omniverse 升级

    — SIGGRAPH — 太平洋时间 2023 年 8 月 8 日 —  NVIDIA 发布 NVIDIA Omniverse 平台的重要版本更新,为开发者和工业企业提供
    的头像 发表于 08-09 19:10 490次阅读

    SIGGRAPH 2023 | NVIDIA Omniverse 开启通往 OpenUSD 广阔天地的大门

    全新 Omniverse Cloud API 帮助开发者采用 OpenUSD;生成式 AI 模型 ChatUSD LLM 使用 USD 进行对话;RunUSD 将 USD 转换成交互式图形
    的头像 发表于 08-09 19:10 433次阅读

    Omniverse 资讯速递 | SIGGRAPH 2023 最新发布与精彩视频等你来解锁!

    图片阅读全文 NVIDIA 发布支持生成式 AI 与 OpenUSD 的重大 Omniverse 升级 NVIDIA 发布 NVIDIA
    的头像 发表于 08-21 21:05 561次阅读

    NVIDIA 知乎精彩问答甄选 | 查看关于 NVIDIA Omniverse 的相关精彩问答

    甄选问答将为您分享  NVIDIA Omniverse 的相关精彩问答 Q: NVIDIA 全新Om
    的头像 发表于 12-01 18:40 537次阅读
    <b class='flag-5'>NVIDIA</b> 知乎精彩问答甄选 | 查看关于 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b> 的相关精彩问答

    NVIDIA Omniverse中的物理模拟功能

    NVIDIA Omniverse™ Simulation 作为 NVIDIA Omniverse™ 平台的关键组件之一,由 NVIDIA
    的头像 发表于 03-08 11:30 1408次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b>中的物理模拟功能

    NVIDIA宣布将以API形式提供Omniverse™ Cloud

    NVIDIA Omniverse Cloud API 使开发者能够将 Omniverse 技术集成到其设计与仿真工具和工作流中。
    的头像 发表于 03-20 09:45 554次阅读

    全新NVIDIA Omniverse Cloud API有何亮点?

    NVIDIA Omniverse Cloud API 使开发者能够将 Omniverse 技术集成到其设计与仿真工具和工作流中。
    的头像 发表于 03-20 13:42 554次阅读

    NVIDIA宣布推出基于Omniverse Cloud API构建的全新软件框架

    NVIDIA 在 GTC 大会上宣布推出基于 Omniverse Cloud API(应用编程接口)构建的全新软件框架。
    的头像 发表于 03-25 09:09 627次阅读

    NVIDIA Omniverse扩展至生成式物理AI领域

    重要方向。 这一创新举措不仅增强了Omniverse的多元化应用能力,更为全球软件开发和专业服务领域的领先企业提供全新的开发工具和平台。借助Omniverse,这些企业能够更快地开发
    的头像 发表于 01-13 10:56 473次阅读