diff options
author | Dave Parks <davep@lindenlab.com> | 2023-02-03 11:34:11 -0600 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2023-02-03 11:34:11 -0600 |
commit | 4259ea79535e88ef6d8ec8415c53c28d0c2d89ac (patch) | |
tree | e8df9036fa26eba61c3190925fb2512f63147d39 /indra/newview/llreflectionmapmanager.cpp | |
parent | 1962f0b3b1d140a64bdc0ed77119f859d1d02a8e (diff) |
SL-19150 Fix for stuttering real-time reflection probes.
Diffstat (limited to 'indra/newview/llreflectionmapmanager.cpp')
-rw-r--r-- | indra/newview/llreflectionmapmanager.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llreflectionmapmanager.cpp b/indra/newview/llreflectionmapmanager.cpp index e622f54756..4fd10b85ad 100644 --- a/indra/newview/llreflectionmapmanager.cpp +++ b/indra/newview/llreflectionmapmanager.cpp @@ -206,11 +206,21 @@ void LLReflectionMapManager::update() { LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("rmmu - realtime"); // update the closest dynamic probe realtime + // should do a full irradiance pass on "odd" frames and a radiance pass on "even" frames closestDynamic->autoAdjustOrigin(); + + // store and override the value of "isRadiancePass" -- parts of the render pipe rely on "isRadiancePass" to set + // lighting values etc + bool radiance_pass = isRadiancePass(); + mRadiancePass = mRealtimeRadiancePass; for (U32 i = 0; i < 6; ++i) { updateProbeFace(closestDynamic, i); } + mRealtimeRadiancePass = !mRealtimeRadiancePass; + + // restore "isRadiancePass" + mRadiancePass = radiance_pass; } // switch to updating the next oldest probe |