summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2023-04-12 09:55:00 -0500
committerDave Parks <davep@lindenlab.com>2023-04-12 09:55:00 -0500
commit086da3d6f8be0fd1e35fc7fc4438d832187c0b5e (patch)
tree7a07e661d72be153412bce9bdaa233541860f0a5 /indra/newview
parent17615dd6b67f1ca019a44664318550240d289372 (diff)
DRTVWR-559 Make cloud pattern deterministic when cloud scroll is zero.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/lldrawpoolwlsky.cpp5
-rw-r--r--indra/newview/llenvironment.cpp12
2 files changed, 15 insertions, 2 deletions
diff --git a/indra/newview/lldrawpoolwlsky.cpp b/indra/newview/lldrawpoolwlsky.cpp
index 820073b3e0..05ee328e43 100644
--- a/indra/newview/lldrawpoolwlsky.cpp
+++ b/indra/newview/lldrawpoolwlsky.cpp
@@ -265,6 +265,11 @@ void LLDrawPoolWLSky::renderSkyCloudsDeferred(const LLVector3& camPosLocal, F32
F32 cloud_variance = psky ? psky->getCloudVariance() : 0.0f;
F32 blend_factor = psky ? psky->getBlendFactor() : 0.0f;
+ if (psky->getCloudScrollRate().isExactlyZero())
+ {
+ blend_factor = 0.f;
+ }
+
// if we even have sun disc textures to work with...
if (cloud_noise || cloud_noise_next)
{
diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp
index 9fe8b00071..51e5aae6de 100644
--- a/indra/newview/llenvironment.cpp
+++ b/indra/newview/llenvironment.cpp
@@ -1687,8 +1687,16 @@ void LLEnvironment::updateCloudScroll()
if (mCurrentEnvironment->getSky() && !mCloudScrollPaused)
{
- LLVector2 cloud_delta = static_cast<F32>(delta_t)* (mCurrentEnvironment->getSky()->getCloudScrollRate()) / 100.0;
- mCloudScrollDelta += cloud_delta;
+ LLVector2 rate = mCurrentEnvironment->getSky()->getCloudScrollRate();
+ if (rate.isExactlyZero())
+ {
+ mCloudScrollDelta.setZero();
+ }
+ else
+ {
+ LLVector2 cloud_delta = static_cast<F32>(delta_t) * (mCurrentEnvironment->getSky()->getCloudScrollRate()) / 100.0;
+ mCloudScrollDelta += cloud_delta;
+ }
}
}