From 49620aeb28eeda811dce2abee060610066448ffc Mon Sep 17 00:00:00 2001 From: "ADS\\lanierd" Date: Tue, 17 Sep 2024 11:57:00 +0200 Subject: [PATCH 1/2] HYDRA-1043 : Fix Bifrost graphs can't be displayed in Hydra viewport --- lib/mayaHydra/hydraExtensions/mixedUtils.cpp | 4 +++- .../hydraExtensions/sceneIndex/mayaHydraSceneIndex.cpp | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/mayaHydra/hydraExtensions/mixedUtils.cpp b/lib/mayaHydra/hydraExtensions/mixedUtils.cpp index 741eee16c..2832e1ba4 100644 --- a/lib/mayaHydra/hydraExtensions/mixedUtils.cpp +++ b/lib/mayaHydra/hydraExtensions/mixedUtils.cpp @@ -80,7 +80,9 @@ SdfPath DagPathToSdfPath( std::string name = dagPath.fullPathName().asChar(); if ( name.empty() ) { MFnDependencyNode dep(dagPath.node()); - TF_WARN("Empty fullpath name for DAG object : %s of type : %s", dep.name().asChar(), dep.typeName().asChar()); + if (dep.name().length() || dep.typeName().length()){ + TF_WARN("Empty fullpath name for DAG object : %s of type : %s", dep.name().asChar(), dep.typeName().asChar()); + } return SdfPath(); } SanitizeNameForSdfPath(name, stripNamespaces); diff --git a/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.cpp b/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.cpp index 41ae0967c..e6981876e 100644 --- a/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.cpp +++ b/lib/mayaHydra/hydraExtensions/sceneIndex/mayaHydraSceneIndex.cpp @@ -232,8 +232,11 @@ namespace { template<> inline SdfPath maybePrepend( const MRenderItem& ri, const SdfPath& inPath ) { - // Prepend Maya path, for organisation and readability. + // Prepend Maya path, for organization and readability. auto sdfDagPath = DagPathToSdfPath(ri.sourceDagPath(), false, false).MakeRelativePath(SdfPath::AbsoluteRootPath()); + if (sdfDagPath.IsEmpty()){ + return inPath; + } return sdfDagPath.AppendPath(inPath); } From f7927d1b1d9cc876985b6392f6a6b82c9eb78ea9 Mon Sep 17 00:00:00 2001 From: "ADS\\lanierd" Date: Thu, 19 Sep 2024 10:31:06 +0200 Subject: [PATCH 2/2] HYDRA-1043 : Remove default material test on usd prims on OSX as they are not all supported. --- .../defaultMaterialUsdPrims.png | Bin 12331 -> 9166 bytes .../mayaToHydra/testMayaDefaultMaterial.py | 4 +- ...ayaDefaultMaterial_Usd_proceduralShapes.ma | 73 +++++++++--------- 3 files changed, 39 insertions(+), 38 deletions(-) diff --git a/test/lib/mayaUsd/render/mayaToHydra/MayaDefaultMaterialTest/defaultMaterialUsdPrims.png b/test/lib/mayaUsd/render/mayaToHydra/MayaDefaultMaterialTest/defaultMaterialUsdPrims.png index df7a55bcf8781219f2dd16affe9d3ea65d907339..539e52cacca2b890620c5384f7e543ae1347f8be 100644 GIT binary patch literal 9166 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 literal 12331 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 hKc>|aiT4Y9qNOSD|Cs#${~Uk79TN*