MaterialX MaterialX 和 MDL MDL

视频字幕:在 VRED 2024 中,我们开始对整个用户界面进行重新设计并实现现代化。此外,我们还添加了导入 MaterialX 和 MDL 材质的功能。这为您在处理材质时提供了多得多的选项,它们可以捕获复杂的材质定义,并且它们可以是程序性的,但采用了外部许多应用程序都已使用的开放标准,因此可以在 Autodesk 内外更好地进行交换。

您可能希望下载材质,例如,从 Nvidia 网站下载 MDL 材质,从 AMD 网站下载 MaterialX。然后是直接创建 MaterialX 或 MDL 材质,并加载材质定义。现在提供了所有可编辑参数。这样,在处理材质时可以大幅改进工作流程。

感谢您观看本视频。

材质库示例

单击以下链接可访问以下材质库:

  • NVIDIA vMaterials 库 - 由 NVIDIA 材质专家设计并验证的真实世界材质集合,这些材质采用 NVIDIA 材质定义语言 (MDL) 描述,以确保准确、便于控制以及保持一致。
  • AMD GPUOpen MaterialX 库 - 可下载且可立即使用的 PBR 材质库,其采用开源 MaterialX 格式。
  • 基于物理的数据库 - 面向 CG 美工人员的基于物理的值数据库。
重要信息:

在 VRED 中,尚无法从头开始创建 NVIDIA MDL 或 MaterialX 材质,也没有基于节点的材质编辑器。

我们建议您监视渲染性能,因为这些材质库中的某些材质很庞大,包含非常高级的参数或包含的纹理多达 16 种,因此可能会显着降低渲染性能,尤其是在进行光线跟踪时。

提示:

如果要编写自己的材质文件,由于 MaterialX 和 MDL 都是 ASCII 纯文本文件,因此您应该能够使用外部编辑器来编写。

有关帮助了解和使用 MDL 的其他资源,请参见 NVIDIA MDL - 手册。此手册提供了该语言的背景、理论和实用示例。

OpenGL 和光线跟踪器“预计算的照明”模式下的 MDL 支持

对于 OpenGL 渲染器以及 CPU 和 GPU 光线跟踪器中的“预计算的照明”模式,由于实时约束,MDL 材质被处理为简化的模型。这一简化的模型基于粗糙度/金属度PBR模型,并进行了一些修改。MDL 材质被简化为使用各向异性/各向同性建模的一般金属、镜面反射和漫反射层GGX BRDF。在这些层之上,有一个使用各向同性 GGX BRDF 建模的透明涂层。使用 absorption_coefficientscattering_coefficients 作为 Beer-Lambert 定律的组合系数对镜面反射透射进行建模,而不改变 OpenGL 边界之间的IOR(无折射或内部反射),并充分考虑在光线跟踪器的“预计算的照明”模式下边界之间的 IOR。OpenGL 中的漫反射透射是通过次表面散射的简化漫反射照明近似来近似计算的。透明度作为 Alpha 混合来实现。发射不会照亮场景。

注意:

根据 OpenGL 渲染器和 CPU/GPU 光线跟踪器的“预计算的照明”模式约束,简化 MDL 材质的过程会生成接近原始材质的材质。在此过程中,MDL 的一些特征将被移除或切换为更简单的形状。

不受支持的功能

OpenGL 渲染器和 CPU/GPU 光线跟踪器“预计算”模式下,不支持这些功能:

  • 双向分布函数:measured_bsdf
  • 所有放射光分布函数。
  • 所有头发双向散射分布函数。
  • 分布函数修改器和组合器:measured_curve_layerthin_filmdirectional_factormeasured_curve_factor
  • 资源:灯光轮廓文件和 BSDF 测量数据文件。

这些功能仅在 OpenGL 渲染器中不受支持:

  • 所有体积分布函数。

部分支持的功能

OpenGL 渲染器和 CPU/GPU 光线跟踪器“预计算”模式下,这些功能部分受支持:

  • 支持的 BSDF 将尽可能使用 microfacet_ggx_vcavities_bsdfdiffuse_reflection_bsdf 进行近似计算。
  • 支持的分布函数修改器和组合器将用于组合金属层、镜面反射层、漫反射层、透射层和透明涂层。

使用 MaterialX 和 MDL 材质

MaterialX

  1. Nvidia 网站下载 MDL 材质,从 AMD 网站下载 MaterialX。
  2. 在“材质编辑器”中,选择 创建 >“创建材质”,然后选择 MaterialX 或 MDL 材质。
  3. 双击 MaterialX 或 MDL 将材质定义加载到 VRED 中。现在,您将看到所有可用的可编辑属性。

MaterialX 和 MDL 属性

每个 MaterialX 或 MDL 将具有自己的唯一部分,如透射、光泽、发射或薄膜,以及下文列出的标准部分。“属性”部分包含原始材质定义中的设置。

置换

视频字幕:在 VRED 2024.1 中,我们进一步致力于正在进行的 UI 现代化,以改善客户体验。我们还添加了新功能,这将提高您的数据工作流程灵活性和视觉质量。

如果您使用的是 MaterialX 和 MDL,我很高兴地宣布,我们已实现对置换贴图的支持。现在,可以在 OpenGL、CPU 和 GPU 光线跟踪中正确计算置换贴图。这可以大幅提高视觉质量。

以下是用于更改材质置换的参数的列表:

  • 相交精度 - 设置光线跟踪期间置换求值的精度。值越低,结果越精确,而值越高,性能越高,但可能会在高频置换贴图上产生瑕疵。

  • 构建精度 - 设置在光线跟踪中构建加速度结构期间置换求值的精度。值越低,匹配越精确,但会降低构建性能,而值越高,构建性能越高,但如果置换快速更改,则可能会错过峰值,从而导致钳制置换。

  • 值限制(OpenGL) - 设置 OpenGL 中置换值的范围限制。超出范围的值被钳制,导致置换具有平坦的高原。因此,范围应足够大以涵盖整个值范围,但又不应太大,以免限制性能。

  • 在 OpenGL 中使用精确轮廓 - 允许您像在光线跟踪模式下一样在 OpenGL 中进行置换计算。选择此选项可能会大大降低性能。

请注意,MaterialX 和 MDL 材质中的置换贴图目前存在一些限制:

  • 仅支持高度贴图置换贴图。对于矢量置换贴图,仅将投影到曲面法线的长度用作置换。
  • 置换目前仅应用于对象空间。世界空间置换将被视为对象空间置换。
  • 在 OpenGL 中,透明材质上的瑕疵可见。这是一个已知问题。

有关标准属性的信息,请参见以下内容: