From d65fb7cec8ce36ce7f6ff082f8d04bdd8bc0208c Mon Sep 17 00:00:00 2001 From: "Jonathan \"Geenz\" Goodman" Date: Mon, 25 Nov 2024 20:56:03 -0500 Subject: 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 --- indra/llinventory/llsettingssky.cpp | 39 ++++++++++++++++++++++++++++++++++++- indra/llinventory/llsettingssky.h | 9 +++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) (limited to 'indra/llinventory') 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; -- cgit v1.2.3