diff options
| author | Jonathan "Geenz" Goodman <geenz@lindenlab.com> | 2024-04-10 15:21:59 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-10 15:21:59 -0700 |
| commit | 7ef2b43802da07b8f30b455448cb84bd1c26320d (patch) | |
| tree | 17848a13b12929c35fa6a2b84442c0584286aabd /indra/newview/llviewercontrol.cpp | |
| parent | 720f7d7ef5d06366cdbae51cd67a6883e994880b (diff) | |
Multiple fixes for mirrors. (#1192)
* #1064 Fix for mirror surfaces going black when the roughness is set too high.
* #1130 Fix for the user's avatar not appearing in mouselook in a mirror.
* #1059 Disable mirrors on low settings per the feature table.
* #860 Modify the settings UI to better reflect that we only have two AA modes: off and FXAA.
* #1191 Add some settings for mirrors in preferences.
* #1185 Add support for runtime mirror resolution changing. Useful for quality settings, and auto-FPS.
Diffstat (limited to 'indra/newview/llviewercontrol.cpp')
| -rw-r--r-- | indra/newview/llviewercontrol.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index ba1add9b92..1fc51ac23c 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -437,6 +437,19 @@ static bool handleReflectionProbeDetailChanged(const LLSD& newvalue) gPipeline.createGLBuffers(); LLViewerShaderMgr::instance()->setShaders(); gPipeline.mReflectionMapManager.reset(); + gPipeline.mHeroProbeManager.reset(); + } + return true; +} + +static bool handleHeroProbeResolutionChanged(const LLSD &newvalue) +{ + if (gPipeline.isInit()) + { + LLPipeline::refreshCachedSettings(); + gPipeline.mHeroProbeManager.reset(); + gPipeline.releaseGLBuffers(); + gPipeline.createGLBuffers(); } return true; } @@ -752,6 +765,7 @@ void settings_setup_listeners() setting_setup_signal_listener(gSavedSettings, "RenderReflectionProbeDetail", handleReflectionProbeDetailChanged); setting_setup_signal_listener(gSavedSettings, "RenderReflectionsEnabled", handleReflectionProbeDetailChanged); setting_setup_signal_listener(gSavedSettings, "RenderScreenSpaceReflections", handleReflectionProbeDetailChanged); + setting_setup_signal_listener(gSavedSettings, "RenderHeroProbeResolution", handleHeroProbeResolutionChanged); setting_setup_signal_listener(gSavedSettings, "RenderShadowDetail", handleSetShaderChanged); setting_setup_signal_listener(gSavedSettings, "RenderDeferredSSAO", handleSetShaderChanged); setting_setup_signal_listener(gSavedSettings, "RenderPerformanceTest", handleRenderPerfTestChanged); |
