Add renderer settings dialog with tab categories per delegate

Surfaces each render delegate's settings (FLAG/INT/FLOAT/STRING) in a
per-viewport floating dialog opened from the gear popup. Settings are grouped
into tabs by key namespace prefix (split at ':'); unprefixed keys go into
General. Changes apply immediately; Reset Defaults restores defValues.
Settings list is cached per delegate to avoid TF_WARN flooding the log on
every frame.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 04:34:53 +08:00
parent 862f3c9745
commit 205bf65ab3
4 changed files with 174 additions and 2 deletions
+8 -1
View File
@@ -1,4 +1,4 @@
#pragma once
#pragma once
#include <glad/gl.h>
@@ -6,6 +6,8 @@
#include <pxr/usd/usd/timeCode.h>
#include <pxr/imaging/glf/drawTarget.h>
#include <pxr/usdImaging/usdImagingGL/engine.h>
#include <pxr/usdImaging/usdImagingGL/rendererSettings.h>
#include <pxr/base/vt/value.h>
#include <pxr/imaging/glf/simpleLight.h>
#include <pxr/imaging/glf/simpleMaterial.h>
#include <pxr/base/gf/vec3f.h>
@@ -187,6 +189,11 @@ public:
pxr::TfTokenVector GetRendererAovs() const;
bool SetCurrentAov(const pxr::TfToken& aov);
pxr::UsdImagingGLRendererSettingsList GetRendererSettingsList() const;
pxr::VtValue GetRendererSetting(const pxr::TfToken& id) const;
void SetRendererSetting(const pxr::TfToken& id,
const pxr::VtValue& value);
bool GetAAEnabled() const { return m_aaEnabled; }
void SetAAEnabled(bool enabled) { m_aaEnabled = enabled; }