parent
422ab40704
commit
92efb16039
|
|
@ -407,7 +407,6 @@ LLSettingsSky::LLSettingsSky(const LLSD &data) :
|
|||
mNextRainbowTextureId(),
|
||||
mNextHaloTextureId()
|
||||
{
|
||||
mCanAutoAdjust = !data.has(SETTING_REFLECTION_PROBE_AMBIANCE);
|
||||
}
|
||||
|
||||
LLSettingsSky::LLSettingsSky():
|
||||
|
|
@ -430,8 +429,6 @@ void LLSettingsSky::replaceSettings(LLSD settings)
|
|||
mNextBloomTextureId.setNull();
|
||||
mNextRainbowTextureId.setNull();
|
||||
mNextHaloTextureId.setNull();
|
||||
|
||||
mCanAutoAdjust = !settings.has(SETTING_REFLECTION_PROBE_AMBIANCE);
|
||||
}
|
||||
|
||||
void LLSettingsSky::replaceWithSky(LLSettingsSky::ptr_t pother)
|
||||
|
|
@ -444,7 +441,6 @@ void LLSettingsSky::replaceWithSky(LLSettingsSky::ptr_t pother)
|
|||
mNextBloomTextureId = pother->mNextBloomTextureId;
|
||||
mNextRainbowTextureId = pother->mNextRainbowTextureId;
|
||||
mNextHaloTextureId = pother->mNextHaloTextureId;
|
||||
mCanAutoAdjust = pother->mCanAutoAdjust;
|
||||
}
|
||||
|
||||
void LLSettingsSky::blend(const LLSettingsBase::ptr_t &end, F64 blendf)
|
||||
|
|
@ -1146,7 +1142,6 @@ void LLSettingsSky::setSkyIceLevel(F32 ice_level)
|
|||
|
||||
void LLSettingsSky::setReflectionProbeAmbiance(F32 ambiance)
|
||||
{
|
||||
mCanAutoAdjust = false; // we've now touched this sky in a "new" way, it can no longer auto adjust
|
||||
setValue(SETTING_REFLECTION_PROBE_AMBIANCE, ambiance);
|
||||
}
|
||||
|
||||
|
|
@ -1448,24 +1443,6 @@ F32 LLSettingsSky::getReflectionProbeAmbiance(bool auto_adjust) const
|
|||
return mSettings[SETTING_REFLECTION_PROBE_AMBIANCE].asReal();
|
||||
}
|
||||
|
||||
F32 LLSettingsSky::getTotalReflectionProbeAmbiance(F32 cloud_shadow_scale, bool auto_adjust) const
|
||||
{
|
||||
#if 0
|
||||
// feed cloud shadow back into reflection probe ambiance to mimic pre-reflection-probe behavior
|
||||
// without brightening dark/interior spaces
|
||||
F32 probe_ambiance = getReflectionProbeAmbiance(auto_adjust);
|
||||
|
||||
if (probe_ambiance > 0.f && probe_ambiance < 1.f)
|
||||
{
|
||||
probe_ambiance += (1.f - probe_ambiance) * getCloudShadow() * cloud_shadow_scale;
|
||||
}
|
||||
|
||||
return probe_ambiance;
|
||||
#else
|
||||
return getReflectionProbeAmbiance(auto_adjust);
|
||||
#endif
|
||||
}
|
||||
|
||||
F32 LLSettingsSky::getSkyBottomRadius() const
|
||||
{
|
||||
return mSettings[SETTING_SKY_BOTTOM_RADIUS].asReal();
|
||||
|
|
@ -1810,3 +1787,8 @@ LLUUID LLSettingsSky::getNextBloomTextureId() const
|
|||
return mNextBloomTextureId;
|
||||
}
|
||||
|
||||
// if true, this sky is a candidate for auto-adjustment
|
||||
bool LLSettingsSky::canAutoAdjust() const
|
||||
{
|
||||
return !mSettings.has(SETTING_REFLECTION_PROBE_AMBIANCE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -139,10 +139,6 @@ public:
|
|||
// auto_adjust - if true and canAutoAdjust() is true, return 1.0
|
||||
F32 getReflectionProbeAmbiance(bool auto_adjust = false) const;
|
||||
|
||||
// get the probe ambiance setting to use for rendering (adjusted by cloud shadow, aka cloud coverage)
|
||||
// auto_adjust - if true and canAutoAdjust() is true, return 1.0
|
||||
F32 getTotalReflectionProbeAmbiance(F32 cloud_shadow_scale, bool auto_adjust = false) const;
|
||||
|
||||
// Return first (only) profile layer represented in LLSD
|
||||
LLSD getRayleighConfig() const;
|
||||
LLSD getMieConfig() const;
|
||||
|
|
@ -340,7 +336,7 @@ public:
|
|||
virtual void updateSettings() SETTINGS_OVERRIDE;
|
||||
|
||||
// if true, this sky is a candidate for auto-adjustment
|
||||
bool canAutoAdjust() const { return mCanAutoAdjust; }
|
||||
bool canAutoAdjust() const;
|
||||
|
||||
protected:
|
||||
static const std::string SETTING_LEGACY_EAST_ANGLE;
|
||||
|
|
@ -385,9 +381,6 @@ private:
|
|||
mutable LLColor4 mTotalAmbient;
|
||||
mutable LLColor4 mHazeColor;
|
||||
|
||||
// if true, this sky is a candidate for auto adjustment
|
||||
bool mCanAutoAdjust = true;
|
||||
|
||||
typedef std::map<std::string, S32> mapNameToUniformId_t;
|
||||
|
||||
static mapNameToUniformId_t sNameToUniformMapping;
|
||||
|
|
|
|||
|
|
@ -8828,17 +8828,6 @@
|
|||
<key>Value</key>
|
||||
<real>32.0</real>
|
||||
</map>
|
||||
<key>RenderCloudShadowAmbianceFactor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Amount that cloud shadow (aka cloud coverage) contributes to reflection probe ambiance</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>F32</string>
|
||||
<key>Value</key>
|
||||
<real>0.1</real>
|
||||
</map>
|
||||
<key>RenderCPUBasis</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -1092,9 +1092,8 @@ void LLReflectionMapManager::updateUniforms()
|
|||
LLEnvironment& environment = LLEnvironment::instance();
|
||||
LLSettingsSky::ptr_t psky = environment.getCurrentSky();
|
||||
|
||||
static LLCachedControl<F32> cloud_shadow_scale(gSavedSettings, "RenderCloudShadowAmbianceFactor", 0.125f);
|
||||
static LLCachedControl<bool> should_auto_adjust(gSavedSettings, "RenderSkyAutoAdjustLegacy", true);
|
||||
F32 minimum_ambiance = psky->getTotalReflectionProbeAmbiance(cloud_shadow_scale, should_auto_adjust);
|
||||
F32 minimum_ambiance = psky->getReflectionProbeAmbiance(should_auto_adjust);
|
||||
|
||||
bool is_ambiance_pass = gCubeSnapshot && !isRadiancePass();
|
||||
F32 ambscale = is_ambiance_pass ? 0.f : 1.f;
|
||||
|
|
|
|||
|
|
@ -745,8 +745,7 @@ void LLSettingsVOSky::applySpecial(void *ptarget, bool force)
|
|||
shader->uniform1f(LLShaderMgr::SKY_SUNLIGHT_SCALE, sunlight_scale);
|
||||
shader->uniform1f(LLShaderMgr::SKY_AMBIENT_SCALE, ambient_scale);
|
||||
|
||||
static LLCachedControl<F32> cloud_shadow_scale(gSavedSettings, "RenderCloudShadowAmbianceFactor", 0.125f);
|
||||
F32 probe_ambiance = getTotalReflectionProbeAmbiance(cloud_shadow_scale);
|
||||
F32 probe_ambiance = getReflectionProbeAmbiance();
|
||||
|
||||
if (irradiance_pass)
|
||||
{ // during an irradiance map update, disable ambient lighting (direct lighting only) and desaturate sky color (avoid tinting the world blue)
|
||||
|
|
|
|||
Loading…
Reference in New Issue