summaryrefslogtreecommitdiff
path: root/indra/llinventory
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@lindenlab.com>2024-11-25 20:56:03 -0500
committerGitHub <noreply@github.com>2024-11-25 20:56:03 -0500
commitd65fb7cec8ce36ce7f6ff082f8d04bdd8bc0208c (patch)
tree0005e8ec095fb31dcd4f8b079af585e3333c365f /indra/llinventory
parent7ef6e8fce763eb529ed160ea4ff11e6125e32ed5 (diff)
Drop emissive on old Intel GPUs (#3110)
* #3103 Add the ability to disable the emissive buffer for older GPUs with low memory bandwidth. * #3135 Add a "vintage" mode for slower GPUs * #2719 Fix for skies being overbrightened * #2632 Do not apply tonemapping on legacy skies
Diffstat (limited to 'indra/llinventory')
-rw-r--r--indra/llinventory/llsettingssky.cpp39
-rw-r--r--indra/llinventory/llsettingssky.h9
2 files changed, 47 insertions, 1 deletions
diff --git a/indra/llinventory/llsettingssky.cpp b/indra/llinventory/llsettingssky.cpp
index ce6244d038..f773b64bde 100644
--- a/indra/llinventory/llsettingssky.cpp
+++ b/indra/llinventory/llsettingssky.cpp
@@ -601,7 +601,7 @@ void LLSettingsSky::blend(LLSettingsBase::ptr_t &end, F64 blendf)
mSettingFlags |= other->mSettingFlags;
- mCanAutoAdjust = false; // no point?
+ mCanAutoAdjust = other->mCanAutoAdjust;
mSunRotation = slerp((F32)blendf, mSunRotation, other->mSunRotation);
mMoonRotation = slerp((F32)blendf, mMoonRotation, other->mMoonRotation);
@@ -1177,6 +1177,11 @@ void LLSettingsSky::loadValuesFromLLSD()
mReflectionProbeAmbiance = (F32)settings[SETTING_REFLECTION_PROBE_AMBIANCE].asReal();
}
+ mHDRMax = 2.0f;
+ mHDRMin = 0.5f;
+ mHDROffset = 1.0f;
+ mTonemapMix = 1.0f;
+
mSunTextureId = settings[SETTING_SUN_TEXTUREID].asUUID();
mMoonTextureId = settings[SETTING_MOON_TEXTUREID].asUUID();
mCloudTextureId = settings[SETTING_CLOUD_TEXTUREID].asUUID();
@@ -2027,6 +2032,38 @@ F32 LLSettingsSky::getGamma() const
return mGamma;
}
+F32 LLSettingsSky::getHDRMin() const
+{
+ if (mCanAutoAdjust)
+ return 0.f;
+
+ return mHDRMin;
+}
+
+F32 LLSettingsSky::getHDRMax() const
+{
+ if (mCanAutoAdjust)
+ return 0.f;
+
+ return mHDRMax;
+}
+
+F32 LLSettingsSky::getHDROffset() const
+{
+ if (mCanAutoAdjust)
+ return 1.0f;
+
+ return mHDROffset;
+}
+
+F32 LLSettingsSky::getTonemapMix() const
+{
+ if (mCanAutoAdjust)
+ return 0.0f;
+
+ return mTonemapMix;
+}
+
void LLSettingsSky::setGamma(F32 val)
{
mGamma = val;
diff --git a/indra/llinventory/llsettingssky.h b/indra/llinventory/llsettingssky.h
index 38c0368423..8d73c35ff3 100644
--- a/indra/llinventory/llsettingssky.h
+++ b/indra/llinventory/llsettingssky.h
@@ -209,6 +209,11 @@ public:
F32 getGamma() const;
+ F32 getHDRMin() const;
+ F32 getHDRMax() const;
+ F32 getHDROffset() const;
+ F32 getTonemapMix() const;
+
void setGamma(F32 val);
LLColor3 getGlow() const;
@@ -380,6 +385,10 @@ protected:
F32 mCloudVariance;
F32 mCloudShadow;
F32 mCloudScale;
+ F32 mTonemapMix;
+ F32 mHDROffset;
+ F32 mHDRMax;
+ F32 mHDRMin;
LLVector2 mScrollRate;
LLColor3 mCloudPosDensity1;
LLColor3 mCloudPosDensity2;