Add renderer purpose display toggles (Guide, Proxy, Render)

Exposes UsdGeomImageable purpose visibility as three per-viewport toggles
in the gear popup (Purpose: Guide / Proxy / Render), wired to
showGuides/showProxy/showRender on UsdImagingGLRenderParams. Defaults match
the USD render params defaults (Proxy on, Guide and Render off). Settings
persist per-viewport to viewport_settings.ini.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 07:02:35 +08:00
parent 205bf65ab3
commit 1c55907573
5 changed files with 42 additions and 3 deletions
+6 -3
View File
@@ -167,6 +167,9 @@ void main() { outColor = color; }
UsdSceneRenderer::UsdSceneRenderer()
: m_showGrid(true)
, m_showCameraGuide(false)
, m_showGuides(false)
, m_showProxy(true)
, m_showRender(false)
, m_currentAov(pxr::TfToken("color"))
, m_aaEnabled(false)
, m_backgroundColor(0.15f, 0.15f, 0.15f)
@@ -720,9 +723,9 @@ void UsdSceneRenderer::Render(int width, int height)
m_renderParams.drawMode = pxr::UsdImagingGLDrawMode::DRAW_SHADED_SMOOTH;
m_renderParams.enableLighting = true; break;
}
m_renderParams.showGuides = true;
m_renderParams.showProxy = true;
m_renderParams.showRender = false;
m_renderParams.showGuides = m_showGuides;
m_renderParams.showProxy = m_showProxy;
m_renderParams.showRender = m_showRender;
m_renderParams.enableSampleAlphaToCoverage = true;
m_renderParams.gammaCorrectColors = false;
m_renderParams.cullStyle = pxr::UsdImagingGLCullStyle::CULL_STYLE_BACK_UNLESS_DOUBLE_SIDED;
+10
View File
@@ -185,6 +185,13 @@ public:
bool ShowCameraGuide() const { return m_showCameraGuide; }
void SetShowCameraGuide(bool show) { m_showCameraGuide = show; }
bool ShowGuides() const { return m_showGuides; }
void SetShowGuides(bool show) { m_showGuides = show; }
bool ShowProxy() const { return m_showProxy; }
void SetShowProxy(bool show) { m_showProxy = show; }
bool ShowRender() const { return m_showRender; }
void SetShowRender(bool show) { m_showRender = show; }
const pxr::TfToken& GetCurrentAov() const { return m_currentAov; }
pxr::TfTokenVector GetRendererAovs() const;
bool SetCurrentAov(const pxr::TfToken& aov);
@@ -342,6 +349,9 @@ private:
bool m_showGrid;
bool m_showCameraGuide;
bool m_showGuides;
bool m_showProxy;
bool m_showRender;
pxr::TfToken m_currentAov;
bool m_aaEnabled; ///< GL_LINE_SMOOTH anti-aliasing for all line overlays
pxr::GfVec3f m_backgroundColor;