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:
@@ -96,6 +96,9 @@ ViewportTileSettings ViewportTile::GetSettings() const
|
||||
s.showGrid = m_renderer.ShowGrid();
|
||||
s.showCameraGuide = m_renderer.ShowCameraGuide();
|
||||
s.aov = m_renderer.GetCurrentAov().GetString();
|
||||
s.showGuides = m_renderer.ShowGuides();
|
||||
s.showProxy = m_renderer.ShowProxy();
|
||||
s.showRender = m_renderer.ShowRender();
|
||||
s.aaEnabled = m_renderer.GetAAEnabled();
|
||||
const pxr::GfVec3f& bg = m_renderer.GetBackgroundColor();
|
||||
s.bgColorR = bg[0]; s.bgColorG = bg[1]; s.bgColorB = bg[2];
|
||||
@@ -114,6 +117,9 @@ void ViewportTile::ApplySettings(const ViewportTileSettings& s)
|
||||
m_renderer.SetShowCameraGuide(s.showCameraGuide);
|
||||
if (!s.aov.empty())
|
||||
m_renderer.SetCurrentAov(pxr::TfToken(s.aov));
|
||||
m_renderer.SetShowGuides(s.showGuides);
|
||||
m_renderer.SetShowProxy(s.showProxy);
|
||||
m_renderer.SetShowRender(s.showRender);
|
||||
m_renderer.SetAAEnabled(s.aaEnabled);
|
||||
m_renderer.SetBackgroundColor(pxr::GfVec3f(s.bgColorR, s.bgColorG, s.bgColorB));
|
||||
m_renderer.SetBBoxMode(static_cast<BBoxMode>(s.bboxMode));
|
||||
@@ -1052,6 +1058,17 @@ void ViewportTile::RenderCompactToolbar(int tileIndex)
|
||||
if (ImGui::MenuItem("Camera Guide", nullptr, guide))
|
||||
m_renderer.SetShowCameraGuide(!guide);
|
||||
|
||||
ImGui::Separator();
|
||||
bool purGuide = m_renderer.ShowGuides();
|
||||
if (ImGui::MenuItem("Purpose: Guide", nullptr, purGuide))
|
||||
m_renderer.SetShowGuides(!purGuide);
|
||||
bool purProxy = m_renderer.ShowProxy();
|
||||
if (ImGui::MenuItem("Purpose: Proxy", nullptr, purProxy))
|
||||
m_renderer.SetShowProxy(!purProxy);
|
||||
bool purRender = m_renderer.ShowRender();
|
||||
if (ImGui::MenuItem("Purpose: Render", nullptr, purRender))
|
||||
m_renderer.SetShowRender(!purRender);
|
||||
|
||||
bool aaItem = m_renderer.GetAAEnabled();
|
||||
if (ImGui::MenuItem("Anti-Aliasing", nullptr, aaItem))
|
||||
m_renderer.SetAAEnabled(!aaItem);
|
||||
|
||||
Reference in New Issue
Block a user