diff --git a/lib/mayaUsd/render/vp2RenderDelegate/basisCurves.cpp b/lib/mayaUsd/render/vp2RenderDelegate/basisCurves.cpp index 9cf4910771..7b94da3061 100644 --- a/lib/mayaUsd/render/vp2RenderDelegate/basisCurves.cpp +++ b/lib/mayaUsd/render/vp2RenderDelegate/basisCurves.cpp @@ -962,10 +962,9 @@ void HdVP2BasisCurves::_UpdateDrawItem( } } - // If color/opacity is not found, the 18% gray color will be used - // to match the default color of Hydra Storm. + // If color/opacity is not found, the default color of Maya curves will be used if (colorArray.empty()) { - colorArray.push_back(GfVec3f(0.18f, 0.18f, 0.18f)); + colorArray.push_back(drawScene.GetCurveDefaultColor()); colorInterpolation = HdInterpolationConstant; } diff --git a/lib/mayaUsd/render/vp2RenderDelegate/proxyRenderDelegate.cpp b/lib/mayaUsd/render/vp2RenderDelegate/proxyRenderDelegate.cpp index f6fb0bba24..bc54f52931 100644 --- a/lib/mayaUsd/render/vp2RenderDelegate/proxyRenderDelegate.cpp +++ b/lib/mayaUsd/render/vp2RenderDelegate/proxyRenderDelegate.cpp @@ -1480,6 +1480,24 @@ HdVP2SelectionStatus ProxyRenderDelegate::GetSelectionStatus(const SdfPath& path //! \brief Query the wireframe color assigned to the proxy shape. const MColor& ProxyRenderDelegate::GetWireframeColor() const { return _wireframeColor; } +GfVec3f ProxyRenderDelegate::GetCurveDefaultColor() +{ + MDoubleArray curveColorResult; + { + std::lock_guard _(_mayaCommandEngineMutex); + MGlobal::executeCommand( + "int $index = `displayColor -q -dormant \"curve\"`; colorIndex -q $index;", + curveColorResult); + } + + if (curveColorResult.length() == 3) { + return GfVec3f(curveColorResult[0], curveColorResult[1], curveColorResult[2]); + } else { + // In case of an error, return the default navy-blue color + return GfVec3f(0.000f, 0.016f, 0.376f); + } +} + //! \brief const MColor& ProxyRenderDelegate::GetSelectionHighlightColor(bool lead) const { diff --git a/lib/mayaUsd/render/vp2RenderDelegate/proxyRenderDelegate.h b/lib/mayaUsd/render/vp2RenderDelegate/proxyRenderDelegate.h index e009a4de21..9847bbc1d5 100644 --- a/lib/mayaUsd/render/vp2RenderDelegate/proxyRenderDelegate.h +++ b/lib/mayaUsd/render/vp2RenderDelegate/proxyRenderDelegate.h @@ -170,6 +170,9 @@ class ProxyRenderDelegate : public MHWRender::MPxSubSceneOverride MAYAUSD_CORE_PUBLIC const MColor& GetWireframeColor() const; + MAYAUSD_CORE_PUBLIC + GfVec3f GetCurveDefaultColor(); + MAYAUSD_CORE_PUBLIC const MColor& GetSelectionHighlightColor(bool lead) const; @@ -287,6 +290,8 @@ class ProxyRenderDelegate : public MHWRender::MPxSubSceneOverride #endif MColor _wireframeColor; //!< Wireframe color assigned to the proxy shape + std::mutex _mayaCommandEngineMutex; + //! A collection of Rprims to prepare render data for specified reprs std::unique_ptr _defaultCollection; diff --git a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity0.png b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity0.png index 32f06ad843..b0f7941611 100644 Binary files a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity0.png and b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity0.png differ diff --git a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity1.png b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity1.png index 32f06ad843..b0f7941611 100644 Binary files a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity1.png and b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity1.png differ diff --git a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity2.png b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity2.png index 32f06ad843..b0f7941611 100644 Binary files a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity2.png and b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity2.png differ diff --git a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity3.png b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity3.png index 32f06ad843..b0f7941611 100644 Binary files a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity3.png and b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_selected_complexity3.png differ diff --git a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity0.png b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity0.png index 4a8d3384c6..eaaa3c79cb 100644 Binary files a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity0.png and b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity0.png differ diff --git a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity1.png b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity1.png index 4a8d3384c6..eaaa3c79cb 100644 Binary files a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity1.png and b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity1.png differ diff --git a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity2.png b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity2.png index 4a8d3384c6..eaaa3c79cb 100644 Binary files a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity2.png and b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity2.png differ diff --git a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity3.png b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity3.png index 4a8d3384c6..eaaa3c79cb 100644 Binary files a/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity3.png and b/test/lib/mayaUsd/render/vp2RenderDelegate/VP2RenderDelegateBasisCurvesTest/baseline/nurbsCircleExport_unselected_complexity3.png differ