diff --git a/indra/llinventory/llsettingswater.cpp b/indra/llinventory/llsettingswater.cpp index d732032a6c5c3ddf59a6ffa538fa6dfc4c89154b..348848b29a79fc58ca2cdf10d3b91c89f400eccf 100644 --- a/indra/llinventory/llsettingswater.cpp +++ b/indra/llinventory/llsettingswater.cpp @@ -230,7 +230,7 @@ LLSettingsWater::validation_list_t LLSettingsWater::validationList() llsd::array(0.0f, 0.0f, 0.0f, 1.0f), llsd::array(1.0f, 1.0f, 1.0f, 1.0f)))); validation.push_back(Validator(SETTING_FOG_DENSITY, true, LLSD::TypeReal, - boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(-10.0f, 10.0f)))); + boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.001f, 100.0f)))); validation.push_back(Validator(SETTING_FOG_MOD, true, LLSD::TypeReal, boost::bind(&Validator::verifyFloatRange, _1, _2, llsd::array(0.0f, 20.0f)))); validation.push_back(Validator(SETTING_FRESNEL_OFFSET, true, LLSD::TypeReal, diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index c90c9c543ca3f264014a402c64e5132775bcc6dc..cb4e5ec7f3f9c82efd89dbc0e409292f65cfea39 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -10544,7 +10544,7 @@ <key>Type</key> <string>F32</string> <key>Value</key> - <real>20.0</real> + <real>2.0</real> </map> <key>RenderReflectionProbeLevel</key> <map> @@ -10632,7 +10632,7 @@ <key>Type</key> <string>F32</string> <key>Value</key> - <real>0.3</real> + <real>0.4</real> </map> <key>RenderShaderLODThreshold</key> <map> diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp index 6aa2316589662ae67bf222a68b89c2100eaa299b..060129d275d5e039044adfbf2fb54e667b42b6f7 100644 --- a/indra/newview/lldrawpoolalpha.cpp +++ b/indra/newview/lldrawpoolalpha.cpp @@ -243,11 +243,13 @@ void LLDrawPoolAlpha::forwardRender(bool rigged) //enable writing to alpha for emissive effects gGL.setColorMask(true, true); - bool write_depth = rigged || + bool write_depth = rigged || LLDrawPoolWater::sSkipScreenCopy // we want depth written so that rendered alpha will // contribute to the alpha mask used for impostors - || LLPipeline::sImpostorRenderAlphaDepthPass; + || LLPipeline::sImpostorRenderAlphaDepthPass + || getType() == LLDrawPoolAlpha::POOL_ALPHA_PRE_WATER; // needed for accurate water fog + LLGLDepthTest depth(GL_TRUE, write_depth ? GL_TRUE : GL_FALSE); diff --git a/indra/newview/llreflectionmapmanager.cpp b/indra/newview/llreflectionmapmanager.cpp index 15d41c4161b8edf63c7f934e7ce443d29295f84f..e30aba3df758881aa918ae7eac9000e885f9d99d 100644 --- a/indra/newview/llreflectionmapmanager.cpp +++ b/indra/newview/llreflectionmapmanager.cpp @@ -323,11 +323,17 @@ void LLReflectionMapManager::update() mRadiancePass = radiance_pass; } - static LLCachedControl<F32> sUpdatePeriod(gSavedSettings, "RenderDefaultProbeUpdatePeriod", 20.f); - if (sLevel == 0 && - gFrameTimeSeconds - mDefaultProbe->mLastUpdateTime < sUpdatePeriod) - { // when probes are disabled don't update the default probe more often than once every 20 seconds - oldestProbe = nullptr; + static LLCachedControl<F32> sUpdatePeriod(gSavedSettings, "RenderDefaultProbeUpdatePeriod", 2.f); + if ((gFrameTimeSeconds - mDefaultProbe->mLastUpdateTime) < sUpdatePeriod) + { + if (sLevel == 0) + { // when probes are disabled don't update the default probe more often than the prescribed update period + oldestProbe = nullptr; + } + } + else if (sLevel > 0) + { // when probes are enabled don't update the default probe less often than the prescribed update period + oldestProbe = mDefaultProbe; } // switch to updating the next oldest probe diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index 6321dbc085f51659463bbcf7087beba8ffa1a880..258cc1c7b2059f609d84eb56fc9d54ef2f6298eb 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -1023,13 +1023,6 @@ LLSettingsWater::parammapping_t LLSettingsVOWater::getParameterMap() const { static parammapping_t param_map; - if (param_map.empty()) - { - //LLSD water_defaults = LLSettingsWater::defaults(); - //param_map[SETTING_FOG_COLOR] = DefaultParam(LLShaderMgr::WATER_FOGCOLOR, water_defaults[SETTING_FOG_COLOR]); - // let this get set by LLSettingsVOWater::applySpecial so that it can properly reflect the underwater modifier - //param_map[SETTING_FOG_DENSITY] = DefaultParam(LLShaderMgr::WATER_FOGDENSITY, water_defaults[SETTING_FOG_DENSITY]); - } return param_map; } diff --git a/indra/newview/skins/default/xui/en/panel_settings_water.xml b/indra/newview/skins/default/xui/en/panel_settings_water.xml index 1aa42af3a8ce354f90ba57ba276bbed9cb625c3b..f19629df264c33e18db53dae7403d508df38fe2e 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_water.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_water.xml @@ -72,8 +72,8 @@ initial_value="0" layout="top" left_delta="15" - min_val="-10" - max_val="10" + min_val="0.001" + max_val="100" name="water_fog_density" top_delta="5" width="150"