diff --git a/resources/Geometry/udim_cube.obj b/resources/Geometry/udim_cube.obj new file mode 100644 index 0000000000..0892abc4a7 --- /dev/null +++ b/resources/Geometry/udim_cube.obj @@ -0,0 +1,41 @@ +# This file uses centimeters as units for non-parametric coordinates. +g +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +vt 0.99 0.01 +vt 0.99 1.01 +vt 1.01 0.01 +vt 2.01 0.99 +vt 2.01 1.01 +vt 1.99 0.99 +vt 1.01 1.01 +vt 2.99 2.01 +vt 1.01 1.99 +vt 1.99 1.99 +vt 2.99 0.01 +vt 2.99 0.99 +vt 0.01 0.01 +vt 0.01 0.99 +vt 2.01 0.01 +vt 0.99 1.99 +vt 1.99 0.01 +vt 0.01 1.01 +vt 0.01 1.99 +vt 0.99 0.99 +vt 2.01 2.01 +vt 1.99 1.01 +vt 1.01 0.99 +vt 2.99 1. +g +f 1/18 2/2 4/16 3/19 +f 3/3 4/17 6/6 5/23 +f 5/5 6/24 8/8 7/21 +f 7/7 8/22 2/10 1/9 +f 2/15 8/11 6/12 4/4 +f 7/13 1/1 3/20 5/14 diff --git a/resources/Images/udim_bunny/grid_1001.png b/resources/Images/udim_bunny/grid_1001.png new file mode 100644 index 0000000000..46d670f413 Binary files /dev/null and b/resources/Images/udim_bunny/grid_1001.png differ diff --git a/resources/Images/udim_bunny/grid_1002.png b/resources/Images/udim_bunny/grid_1002.png new file mode 100644 index 0000000000..6e25a2a994 Binary files /dev/null and b/resources/Images/udim_bunny/grid_1002.png differ diff --git a/resources/Images/udim_bunny/grid_1003.png b/resources/Images/udim_bunny/grid_1003.png new file mode 100644 index 0000000000..f0bc2e469a Binary files /dev/null and b/resources/Images/udim_bunny/grid_1003.png differ diff --git a/resources/Images/udim_bunny/grid_1011.png b/resources/Images/udim_bunny/grid_1011.png new file mode 100644 index 0000000000..f3df995e67 Binary files /dev/null and b/resources/Images/udim_bunny/grid_1011.png differ diff --git a/resources/Images/udim_bunny/grid_1012.png b/resources/Images/udim_bunny/grid_1012.png new file mode 100644 index 0000000000..bbd2e4e2fa Binary files /dev/null and b/resources/Images/udim_bunny/grid_1012.png differ diff --git a/resources/Images/udim_bunny/grid_1013.png b/resources/Images/udim_bunny/grid_1013.png new file mode 100644 index 0000000000..67da0224c9 Binary files /dev/null and b/resources/Images/udim_bunny/grid_1013.png differ diff --git a/resources/Materials/TestSuite/stdlib/udim/multi_udim_bunny.mtlx b/resources/Materials/TestSuite/stdlib/udim/multi_udim_bunny.mtlx new file mode 100644 index 0000000000..d82911a862 --- /dev/null +++ b/resources/Materials/TestSuite/stdlib/udim/multi_udim_bunny.mtlx @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/source/MaterialXGraphEditor/RenderView.cpp b/source/MaterialXGraphEditor/RenderView.cpp index fe419c7908..bca344032a 100644 --- a/source/MaterialXGraphEditor/RenderView.cpp +++ b/source/MaterialXGraphEditor/RenderView.cpp @@ -403,15 +403,6 @@ void RenderView::updateMaterials(mx::TypedElementPtr typedElem) // Check for any udim set. mx::ValuePtr udimSetValue = _document->getGeomPropValue(mx::UDIM_SET_PROPERTY); - // Skip material nodes without upstream shaders. - mx::NodePtr node = typedElem ? typedElem->asA() : nullptr; - if (node && - node->getCategory() == mx::SURFACE_MATERIAL_NODE_STRING && - mx::getShaderNodes(node).empty()) - { - typedElem = nullptr; - } - // Create new materials. if (!typedElem) { @@ -422,6 +413,15 @@ void RenderView::updateMaterials(mx::TypedElementPtr typedElem) } } + // Skip material nodes without upstream shaders. + mx::NodePtr node = typedElem ? typedElem->asA() : nullptr; + if (node && + node->getCategory() == mx::SURFACE_MATERIAL_NODE_STRING && + mx::getShaderNodes(node).empty()) + { + typedElem = nullptr; + } + mx::TypedElementPtr udimElement = nullptr; mx::NodePtr materialNode = nullptr; if (typedElem)