diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt
index d60a54cf3b..f9d7b55565 100644
--- a/libraries/CMakeLists.txt
+++ b/libraries/CMakeLists.txt
@@ -8,9 +8,13 @@ if(NOT SKBUILD)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
DESTINATION "${MATERIALX_INSTALL_STDLIB_PATH}"
PATTERN "CMakeLists.txt" EXCLUDE
- PATTERN "pbrlib_genosl_impl.*" EXCLUDE)
+ PATTERN "pbrlib_genosl_impl.*" EXCLUDE
+ PATTERN "mx39_pbrlib_genosl_impl.*" EXCLUDE)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/pbrlib/genosl/pbrlib_genosl_impl.${PBRLIB_SUFFIX}"
DESTINATION "${MATERIALX_INSTALL_STDLIB_PATH}/pbrlib/genosl/" RENAME pbrlib_genosl_impl.mtlx)
+ install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/pbrlib/genosl/mx39_pbrlib_genosl_impl.${PBRLIB_SUFFIX}"
+ DESTINATION "${MATERIALX_INSTALL_STDLIB_PATH}/pbrlib/genosl/" RENAME mx39_pbrlib_genosl_impl.mtlx)
+
endif()
set(MATERIALX_PYTHON_LIBRARIES_PATH "${MATERIALX_PYTHON_FOLDER_NAME}/${MATERIALX_INSTALL_STDLIB_PATH}")
@@ -22,7 +26,10 @@ if(MATERIALX_BUILD_PYTHON)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
DESTINATION "${MATERIALX_PYTHON_LIBRARIES_PATH}"
PATTERN "CMakeLists.txt" EXCLUDE
- PATTERN "pbrlib_genosl_impl.*" EXCLUDE)
+ PATTERN "pbrlib_genosl_impl.*" EXCLUDE
+ PATTERN "mx39_pbrlib_genosl_impl.*" EXCLUDE)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/pbrlib/genosl/pbrlib_genosl_impl.${PBRLIB_SUFFIX}"
DESTINATION "${MATERIALX_PYTHON_LIBRARIES_PATH}/pbrlib/genosl/" RENAME pbrlib_genosl_impl.mtlx)
+ install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/pbrlib/genosl/mx39_pbrlib_genosl_impl.${PBRLIB_SUFFIX}"
+ DESTINATION "${MATERIALX_PYTHON_LIBRARIES_PATH}/pbrlib/genosl/" RENAME mx39_pbrlib_genosl_impl.mtlx)
endif()
diff --git a/libraries/pbrlib/genglsl/mx39_genglsl_impl.mtlx b/libraries/pbrlib/genglsl/mx39_pbrlib_genglsl_impl.mtlx
similarity index 100%
rename from libraries/pbrlib/genglsl/mx39_genglsl_impl.mtlx
rename to libraries/pbrlib/genglsl/mx39_pbrlib_genglsl_impl.mtlx
diff --git a/libraries/pbrlib/genmdl/mx39_pbrlib_genmdl_impl.mtlx b/libraries/pbrlib/genmdl/mx39_pbrlib_genmdl_impl.mtlx
new file mode 100644
index 0000000000..5bc13eb9fd
--- /dev/null
+++ b/libraries/pbrlib/genmdl/mx39_pbrlib_genmdl_impl.mtlx
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx b/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx
index a4277bf675..b642c9343c 100644
--- a/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx
+++ b/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx
@@ -23,7 +23,7 @@
-
+
diff --git a/libraries/pbrlib/genmsl/mx39_pbrlib_genmsl_impl.mtlx b/libraries/pbrlib/genmsl/mx39_pbrlib_genmsl_impl.mtlx
new file mode 100644
index 0000000000..3576620dde
--- /dev/null
+++ b/libraries/pbrlib/genmsl/mx39_pbrlib_genmsl_impl.mtlx
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libraries/pbrlib/genosl/legacy/mx39_compensating_oren_nayar_diffuse_bsdf.osl b/libraries/pbrlib/genosl/legacy/mx39_compensating_oren_nayar_diffuse_bsdf.osl
new file mode 100644
index 0000000000..2ce4dd07b1
--- /dev/null
+++ b/libraries/pbrlib/genosl/legacy/mx39_compensating_oren_nayar_diffuse_bsdf.osl
@@ -0,0 +1,5 @@
+void mx39_compensating_oren_nayar_diffuse_bsdf(float weight, color _color, float roughness, normal N, int energy_compensation, output BSDF bsdf)
+{
+ bsdf.response = _color * weight * oren_nayar(N, roughness);
+ bsdf.throughput = color(0.0);
+}
diff --git a/libraries/pbrlib/genosl/legacy/mx39_dielectric_tf_bsdf.osl b/libraries/pbrlib/genosl/legacy/mx39_dielectric_tf_bsdf.osl
new file mode 100644
index 0000000000..5d6c81fd36
--- /dev/null
+++ b/libraries/pbrlib/genosl/legacy/mx39_dielectric_tf_bsdf.osl
@@ -0,0 +1,36 @@
+#include "../lib/mx_microfacet_specular.osl"
+
+void mx39_dielectric_tf_bsdf(float weight, color tint, float ior, vector2 roughness, float thinfilm_thickness, float thinfilm_ior, normal N, vector U, string distribution, string scatter_mode, output BSDF bsdf)
+{
+ if (scatter_mode == "T")
+ {
+ bsdf.response = tint * weight * microfacet(distribution, N, U, roughness.x, roughness.y, ior, 1);
+ bsdf.throughput = tint * weight;
+ return;
+ }
+
+ float NdotV = clamp(dot(N,-I), M_FLOAT_EPS, 1.0);
+ float F0 = mx_ior_to_f0(ior);
+ float F = mx_fresnel_schlick(NdotV, F0);
+
+ // Calculate compensation for multiple scattering.
+ // This should normally be done inside the closure
+ // but since vanilla OSL doesen't support this we
+ // add it here in shader code instead.
+ vector2 safeAlpha = clamp(roughness, M_FLOAT_EPS, 1.0);
+ float avgAlpha = mx_average_alpha(safeAlpha);
+ float comp = mx_ggx_energy_compensation(NdotV, avgAlpha, F);
+
+ // Calculate throughput from directional albedo.
+ float dirAlbedo = mx_ggx_dir_albedo(NdotV, avgAlpha, ior) * comp;
+ bsdf.throughput = 1.0 - dirAlbedo * weight;
+
+ if (scatter_mode == "R")
+ {
+ bsdf.response = tint * weight * comp * microfacet(distribution, N, U, safeAlpha.x, safeAlpha.y, ior, 0);
+ }
+ else
+ {
+ bsdf.response = tint * weight * comp * microfacet(distribution, N, U, safeAlpha.x, safeAlpha.y, ior, 2);
+ }
+}
diff --git a/libraries/pbrlib/genosl/legacy/mx39_generalized_schlick_tf_82_bsdf.osl b/libraries/pbrlib/genosl/legacy/mx39_generalized_schlick_tf_82_bsdf.osl
new file mode 100644
index 0000000000..ac0e3928e5
--- /dev/null
+++ b/libraries/pbrlib/genosl/legacy/mx39_generalized_schlick_tf_82_bsdf.osl
@@ -0,0 +1,38 @@
+#include "../lib/mx_microfacet_specular.osl"
+
+void mx39_generalized_schlick_tf_82_bsdf(float weight, color color0, color color82, color color90, float exponent, vector2 roughness, float thinfilm_thickness, float thinfilm_ior, normal N, vector U, string distribution, string scatter_mode, output BSDF bsdf)
+{
+ float avgF0 = dot(color0, color(1.0 / 3.0));
+ float ior = mx_f0_to_ior(avgF0);
+
+ if (scatter_mode == "T")
+ {
+ bsdf.response = weight * microfacet(distribution, N, U, roughness.x, roughness.y, ior, 1);
+ bsdf.throughput = weight;
+ return;
+ }
+
+ float NdotV = fabs(dot(N,-I));
+ color F = mx_fresnel_schlick(NdotV, color0, color90, exponent);
+
+ // Calculate compensation for multiple scattering.
+ // This should normally be done inside the closure
+ // but since vanilla OSL doesen't support this we
+ // add it here in shader code instead.
+ vector2 safeAlpha = clamp(roughness, M_FLOAT_EPS, 1.0);
+ float avgAlpha = mx_average_alpha(safeAlpha);
+ color comp = mx_ggx_energy_compensation(NdotV, avgAlpha, F);
+
+ // Calculate throughput from directional albedo.
+ color dirAlbedo = mx_ggx_dir_albedo(NdotV, avgAlpha, color0, color90) * comp;
+ float avgDirAlbedo = dot(dirAlbedo, color(1.0 / 3.0));
+ bsdf.throughput = 1.0 - avgDirAlbedo * weight;
+
+ // Calculate the reflection response, setting IOR to zero to disable internal Fresnel.
+ bsdf.response = F * comp * weight * microfacet(distribution, N, U, safeAlpha.x, safeAlpha.y, 0.0, 0);
+
+ if (scatter_mode == "RT")
+ {
+ bsdf.response += bsdf.throughput * microfacet(distribution, N, U, safeAlpha.x, safeAlpha.y, ior, 1);
+ }
+}
diff --git a/libraries/pbrlib/genosl/mx39_dielectric_tf_bsdf.osl b/libraries/pbrlib/genosl/mx39_dielectric_tf_bsdf.osl
new file mode 100644
index 0000000000..5b4243506c
--- /dev/null
+++ b/libraries/pbrlib/genosl/mx39_dielectric_tf_bsdf.osl
@@ -0,0 +1,15 @@
+void mx39_dielectric_tf_bsdf(float weight, color tint, float ior, vector2 roughness, float thinfilm_thickness, float thinfilm_ior, normal N, vector U, string distribution, string scatter_mode, output BSDF bsdf)
+{
+ if (scatter_mode == "R")
+ {
+ bsdf = weight * dielectric_bsdf(N, U, tint, color(0.0), roughness.x, roughness.y, ior, distribution, "thinfilm_thickness", thinfilm_thickness, "thinfilm_ior", thinfilm_ior);
+ }
+ else if (scatter_mode == "T")
+ {
+ bsdf = weight * dielectric_bsdf(N, U, color(0.0), tint, roughness.x, roughness.y, ior, distribution, "thinfilm_thickness", thinfilm_thickness, "thinfilm_ior", thinfilm_ior);
+ }
+ else
+ {
+ bsdf = weight * dielectric_bsdf(N, U, tint, tint, roughness.x, roughness.y, ior, distribution, "thinfilm_thickness", thinfilm_thickness, "thinfilm_ior", thinfilm_ior);
+ }
+}
diff --git a/libraries/pbrlib/genosl/mx39_generalized_schlick_tf_82_bsdf.osl b/libraries/pbrlib/genosl/mx39_generalized_schlick_tf_82_bsdf.osl
new file mode 100644
index 0000000000..4fb9eac0c3
--- /dev/null
+++ b/libraries/pbrlib/genosl/mx39_generalized_schlick_tf_82_bsdf.osl
@@ -0,0 +1,15 @@
+void mx39_generalized_schlick_tf_82_bsdf(float weight, color color0, color color82, color color90, float exponent, vector2 roughness, float thinfilm_thickness, float thinfilm_ior, normal N, vector U, string distribution, string scatter_mode, output BSDF bsdf)
+{
+ if (scatter_mode == "R")
+ {
+ bsdf = weight * generalized_schlick_bsdf(N, U, color(1.0), color(0.0), roughness.x, roughness.y, color0, color90, exponent, distribution, "thinfilm_thickness", thinfilm_thickness, "thinfilm_ior", thinfilm_ior);
+ }
+ else if (scatter_mode == "T")
+ {
+ bsdf = weight * generalized_schlick_bsdf(N, U, color(0.0), color(1.0), roughness.x, roughness.y, color0, color90, exponent, distribution, "thinfilm_thickness", thinfilm_thickness, "thinfilm_ior", thinfilm_ior);
+ }
+ else
+ {
+ bsdf = weight * generalized_schlick_bsdf(N, U, color(1.0), color(1.0), roughness.x, roughness.y, color0, color90, exponent, distribution, "thinfilm_thickness", thinfilm_thickness, "thinfilm_ior", thinfilm_ior);
+ }
+}
diff --git a/libraries/pbrlib/genosl/mx39_pbrlib_genosl_impl.legacy b/libraries/pbrlib/genosl/mx39_pbrlib_genosl_impl.legacy
new file mode 100644
index 0000000000..95af5056f4
--- /dev/null
+++ b/libraries/pbrlib/genosl/mx39_pbrlib_genosl_impl.legacy
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libraries/pbrlib/genosl/mx39_pbrlib_genosl_impl.mtlx b/libraries/pbrlib/genosl/mx39_pbrlib_genosl_impl.mtlx
new file mode 100644
index 0000000000..df8d6a59e9
--- /dev/null
+++ b/libraries/pbrlib/genosl/mx39_pbrlib_genosl_impl.mtlx
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libraries/pbrlib/pbrlib_defs.mtlx b/libraries/pbrlib/pbrlib_defs.mtlx
index 1417491681..5fe6a6a773 100644
--- a/libraries/pbrlib/pbrlib_defs.mtlx
+++ b/libraries/pbrlib/pbrlib_defs.mtlx
@@ -419,6 +419,9 @@
+
+
+
-
+
@@ -440,7 +443,7 @@
A reflection/transmission BSDF node based on a microfacet model and a Fresnel curve for dielectrics.
This node became thin-film aware in 1.39
-->
-
+
@@ -459,7 +462,7 @@
A reflection/transmission BSDF node based on a microfacet model and a generalized Schlick Fresnel curve.
This node gained a 82 degree color and thin film awareness in 1.39
-->
-
+
@@ -480,7 +483,7 @@
A microfacet BSDF for the back-scattering properties of cloth-like materials.
This node gained a Zeltner mode in MaterialX 1.39. We split the code to only expose Zeltner case.
-->
-
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_aluminum_brushed.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_aluminum_brushed.mtlx
new file mode 100644
index 0000000000..7f7072d416
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_aluminum_brushed.mtlx
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_carpaint.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_carpaint.mtlx
new file mode 100644
index 0000000000..fd42fdf48d
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_carpaint.mtlx
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_default.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_default.mtlx
new file mode 100644
index 0000000000..8125541a99
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_default.mtlx
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_glass.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_glass.mtlx
new file mode 100644
index 0000000000..a661b9d1f6
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_glass.mtlx
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_honey.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_honey.mtlx
new file mode 100644
index 0000000000..41e076d231
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_honey.mtlx
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_ketchup.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_ketchup.mtlx
new file mode 100644
index 0000000000..cda2ebdf7e
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_ketchup.mtlx
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_lightbulb.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_lightbulb.mtlx
new file mode 100644
index 0000000000..a915f842a4
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_lightbulb.mtlx
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_pearl.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_pearl.mtlx
new file mode 100644
index 0000000000..83db774b8e
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_pearl.mtlx
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_soapbubble.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_soapbubble.mtlx
new file mode 100644
index 0000000000..af0faccb2a
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_soapbubble.mtlx
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/Examples/OpenPbr/open_pbr_velvet.mtlx b/resources/Materials/Examples/OpenPbr/open_pbr_velvet.mtlx
new file mode 100644
index 0000000000..6fbc907f3d
--- /dev/null
+++ b/resources/Materials/Examples/OpenPbr/open_pbr_velvet.mtlx
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Materials/TestSuite/_options.mtlx b/resources/Materials/TestSuite/_options.mtlx
index 99db2a9f50..e12a5b564b 100644
--- a/resources/Materials/TestSuite/_options.mtlx
+++ b/resources/Materials/TestSuite/_options.mtlx
@@ -74,7 +74,7 @@
-
+
diff --git a/source/MaterialXTest/CMakeLists.txt b/source/MaterialXTest/CMakeLists.txt
index 862a176b50..9d2bd578dd 100644
--- a/source/MaterialXTest/CMakeLists.txt
+++ b/source/MaterialXTest/CMakeLists.txt
@@ -98,6 +98,9 @@ if(MATERIALX_OSL_LEGACY_CLOSURES)
add_custom_command(TARGET MaterialXTest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E rename
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/libraries/pbrlib/genosl/pbrlib_genosl_impl.legacy ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/libraries/pbrlib/genosl/pbrlib_genosl_impl.mtlx)
+ add_custom_command(TARGET MaterialXTest POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E rename
+ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/libraries/pbrlib/genosl/mx39_pbrlib_genosl_impl.legacy ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/libraries/pbrlib/genosl/mx39_pbrlib_genosl_impl.mtlx)
endif()
if(MATERIALX_BUILD_GEN_MDL)
diff --git a/source/MaterialXTest/MaterialXGenGlsl/GenGlsl.cpp b/source/MaterialXTest/MaterialXGenGlsl/GenGlsl.cpp
index 2cc4d7ccf4..e2857f1eb2 100644
--- a/source/MaterialXTest/MaterialXGenGlsl/GenGlsl.cpp
+++ b/source/MaterialXTest/MaterialXGenGlsl/GenGlsl.cpp
@@ -158,6 +158,7 @@ static void generateGlslCode(GlslType type = GlslType::Glsl400)
mx::FilePathVec testRootPaths;
testRootPaths.push_back(searchPath.find("resources/Materials/TestSuite"));
testRootPaths.push_back(searchPath.find("resources/Materials/Examples/StandardSurface"));
+ testRootPaths.push_back(searchPath.find("resources/Materials/Examples/OpenPbr"));
const mx::FilePath logPath("genglsl_" + GlslTypeToString(type) + "_generate_test.txt");
diff --git a/source/MaterialXTest/MaterialXGenMdl/GenMdl.cpp b/source/MaterialXTest/MaterialXGenMdl/GenMdl.cpp
index 8da7e22fe5..2cd48dd4c4 100644
--- a/source/MaterialXTest/MaterialXGenMdl/GenMdl.cpp
+++ b/source/MaterialXTest/MaterialXGenMdl/GenMdl.cpp
@@ -357,6 +357,7 @@ TEST_CASE("GenShader: MDL Shader Generation", "[genmdl]")
mx::FilePathVec testRootPaths;
testRootPaths.push_back(searchPath.find("resources/Materials/TestSuite"));
testRootPaths.push_back(searchPath.find("resources/Materials/Examples/StandardSurface"));
+ testRootPaths.push_back(searchPath.find("resources/Materials/Examples/OpenPbr"));
const mx::FilePath logPath("genmdl_mdl_generate_test.txt");
diff --git a/source/MaterialXTest/MaterialXGenMsl/GenMsl.cpp b/source/MaterialXTest/MaterialXGenMsl/GenMsl.cpp
index 03dbcbde69..62c108deca 100644
--- a/source/MaterialXTest/MaterialXGenMsl/GenMsl.cpp
+++ b/source/MaterialXTest/MaterialXGenMsl/GenMsl.cpp
@@ -124,6 +124,7 @@ static void generateMslCode()
mx::FilePathVec testRootPaths;
testRootPaths.push_back(searchPath.find("resources/Materials/TestSuite"));
testRootPaths.push_back(searchPath.find("resources/Materials/Examples/StandardSurface"));
+ testRootPaths.push_back(searchPath.find("resources/Materials/Examples/OpenPbr"));
const mx::FilePath logPath("genmsl_msl23_layout_generate_test.txt");
diff --git a/source/MaterialXTest/MaterialXGenOsl/GenOsl.cpp b/source/MaterialXTest/MaterialXGenOsl/GenOsl.cpp
index 13a8b5ffdf..28156a41fe 100644
--- a/source/MaterialXTest/MaterialXGenOsl/GenOsl.cpp
+++ b/source/MaterialXTest/MaterialXGenOsl/GenOsl.cpp
@@ -183,6 +183,7 @@ static void generateOslCode()
mx::FilePathVec testRootPaths;
testRootPaths.push_back(searchPath.find("resources/Materials/TestSuite"));
testRootPaths.push_back(searchPath.find("resources/Materials/Examples/StandardSurface"));
+ testRootPaths.push_back(searchPath.find("resources/Materials/Examples/OpenPbr"));
const mx::FilePath logPath("genosl_vanilla_generate_test.txt");
diff --git a/source/MaterialXTest/MaterialXGenShader/GenShaderUtil.cpp b/source/MaterialXTest/MaterialXGenShader/GenShaderUtil.cpp
index 5aa1d7aa2d..3ed23848e6 100644
--- a/source/MaterialXTest/MaterialXGenShader/GenShaderUtil.cpp
+++ b/source/MaterialXTest/MaterialXGenShader/GenShaderUtil.cpp
@@ -355,6 +355,7 @@ void shaderGenPerformanceTest(mx::GenContext& context)
// Read mtlx documents
mx::FilePathVec testRootPaths;
testRootPaths.push_back("resources/Materials/Examples/StandardSurface");
+ testRootPaths.push_back("resources/Materials/Examples/OpenPbr");
std::vector loadedDocuments;
mx::StringVec documentsPaths;
diff --git a/source/MaterialXView/Main.cpp b/source/MaterialXView/Main.cpp
index 904466c065..b2a9403f0f 100644
--- a/source/MaterialXView/Main.cpp
+++ b/source/MaterialXView/Main.cpp
@@ -72,7 +72,7 @@ int main(int argc, char* const argv[])
tokens.emplace_back(argv[i]);
}
- std::string materialFilename = "resources/Materials/Examples/StandardSurface/standard_surface_default.mtlx";
+ std::string materialFilename = "resources/Materials/Examples/OpenPbr/open_pbr_default.mtlx";
std::string meshFilename = "resources/Geometry/shaderball.glb";
std::string envRadianceFilename = "resources/Lights/san_giuseppe_bridge_split.hdr";
mx::FileSearchPath searchPath = mx::getDefaultDataSearchPath();