MaterialX: Export Principled BSDF as OpenPBR Surface

Switch from Standard Surface to OpenPBR as the exported MaterialX surface,
since this is the new standard more renderers are adopting and it more closely
matches the Principled BSDF implementation.

Anisotropy support is improved though still not quite the same, as formulas
are different. Nodes are generated to apply anisotropic rotation to the
tangent vector, as there is no corresponding parameter in OpenPBR.

Fixes #138164

Authored by Apple: Lee Kerley

Pull Request: https://projects.blender.org/blender/blender/pulls/138165
This commit is contained in:
Michael B Johnson
2025-05-15 19:11:35 +02:00
committed by Brecht Van Lommel
parent 67ba636006
commit af0cfcb01c
41 changed files with 161 additions and 124 deletions

View File

@@ -1150,7 +1150,7 @@ class USDExportTest(AbstractUSDTest):
self.assertTrue(shader, "Connected prim is not a shader")
shader_id = shader.GetIdAttr().Get()
self.assertEqual(shader_id, "ND_standard_surface_surfaceshader", "Shader is not a Standard Surface")
self.assertEqual(shader_id, "ND_open_pbr_surface_surfaceshader", "Shader is not an OpenPBR Surface")
def test_hooks(self):
"""Validate USD Hook integration for both import and export"""