@@ -457,7 +457,7 @@ HUSD_Imaging::HUSD_Imaging()
457457 myConverged = true;
458458 mySettingsChanged = true;
459459 myIsPaused = false;
460- myValidRenderSettings = false;
460+ myValidRenderSettingsPrim = false;
461461 myCameraSynced = true;
462462 myConformPolicy = HUSD_Scene ::EXPAND_APERTURE ;
463463 myFrame = -1e30 ;
@@ -807,9 +807,9 @@ HUSD_Imaging::setupRenderer(const UT_StringRef &renderer_name,
807807
808808 // TODO: use cameraDepth when linear is requested
809809 // const TfToken &depth_token = (myDepthStyle == HUSD_DEPTH_LINEAR)
810- // ? HdAovTokens->cameraDepth : HdAovTokens->depth;
810+ // ? HdAovTokens->cameraDepth : HdAovTokens->depth;
811811 const TfToken & depth_token = HdAovTokens -> depth ;
812- if (myValidRenderSettings )
812+ if (myValidRenderSettingsPrim )
813813 {
814814 bool has_depth = false;
815815 HdAovDescriptorList descs ;
@@ -867,7 +867,7 @@ HUSD_Imaging::setupRenderer(const UT_StringRef &renderer_name,
867867 myCurrentAOV = list [0 ].GetText ();
868868
869869 if (myPrivate -> myImagingEngine -> SetRendererAovs ( list ) &&
870- myValidRenderSettings )
870+ myValidRenderSettingsPrim )
871871 {
872872 for (auto & aov_name : list )
873873 {
@@ -890,7 +890,7 @@ HUSD_Imaging::setOutputPlane(const UT_StringRef &name)
890890{
891891 myOutputPlane = name ;
892892
893- if (myValidRenderSettings &&
893+ if (myValidRenderSettingsPrim &&
894894 myRenderSettingsContext -> hasAOV (name ))
895895 {
896896 myCurrentAOV = name ;
@@ -1032,7 +1032,7 @@ HUSD_Imaging::anyRestartRenderSettingsChanged() const
10321032 for (auto opt = myCurrentOptions .begin ();
10331033 opt != myCurrentOptions .end (); ++ opt )
10341034 {
1035- if (myValidRenderSettings )
1035+ if (myValidRenderSettingsPrim )
10361036 {
10371037 // Render setting prims override display options. Skip
10381038 // any display options in case a render setting exists
@@ -1052,7 +1052,7 @@ HUSD_Imaging::anyRestartRenderSettingsChanged() const
10521052 }
10531053 }
10541054
1055- if (myValidRenderSettings )
1055+ if (myValidRenderSettingsPrim )
10561056 {
10571057 for (auto opt : myPrivate -> myPrimRenderSettingMap )
10581058 {
@@ -1123,7 +1123,7 @@ HUSD_Imaging::updateSettingsIfRequired(HUSD_AutoReadLock &lock)
11231123 for (auto opt = myCurrentOptions .begin ();
11241124 opt != myCurrentOptions .end (); ++ opt )
11251125 {
1126- if (myValidRenderSettings )
1126+ if (myValidRenderSettingsPrim )
11271127 {
11281128 // Render setting prims override display options. Skip any
11291129 // display options in case a render setting exists for that
@@ -1140,7 +1140,7 @@ HUSD_Imaging::updateSettingsIfRequired(HUSD_AutoReadLock &lock)
11401140 }
11411141 }
11421142
1143- if (myValidRenderSettings )
1143+ if (myValidRenderSettingsPrim )
11441144 {
11451145 for (auto opt : myPrivate -> myPrimRenderSettingMap )
11461146 {
@@ -1872,8 +1872,11 @@ HUSD_Imaging::setRenderSettings(const UT_StringRef &settings_path,
18721872 PXR_NS ::SdfPath path (spath .toStdString ());
18731873
18741874 myRenderSettingsContext -> setRes (w ,h );
1875- if (myRenderSettings -> init (lock .data ()-> stage (), path ,
1876- * myRenderSettingsContext ))
1875+ // Our render settings are "valid" only if we have managed to set a
1876+ // valid render settings USD prim into myRenderSettings.
1877+ if (myRenderSettings -> init (lock .data ()-> stage (), path ,
1878+ * myRenderSettingsContext ) &&
1879+ myRenderSettings -> prim ())
18771880 {
18781881 myRenderSettings -> resolveProducts (lock .data ()-> stage (),
18791882 * myRenderSettingsContext );
@@ -1888,16 +1891,18 @@ HUSD_Imaging::setRenderSettings(const UT_StringRef &settings_path,
18881891 myRenderSettings -> renderSettings ();
18891892
18901893 mySettingsChanged = true;
1891- myValidRenderSettings = true;
1894+ myValidRenderSettingsPrim = true;
18921895 valid = true;
18931896 }
1897+ else
1898+ valid = false;
18941899 }
18951900
18961901 if (!valid )
18971902 {
1898- if (myValidRenderSettings )
1903+ if (myValidRenderSettingsPrim )
18991904 mySettingsChanged = true;
1900- myValidRenderSettings = false;
1905+ myValidRenderSettingsPrim = false;
19011906 }
19021907}
19031908
0 commit comments