diff --git a/indra/llcommon/indra_constants.cpp b/indra/llcommon/indra_constants.cpp
index 7ea42a3fc0296e3ea620974f4a8b4b167ca06d08..601eb45570d33b3b931b9ee4fc3dddb08d2ad9b1 100644
--- a/indra/llcommon/indra_constants.cpp
+++ b/indra/llcommon/indra_constants.cpp
@@ -64,7 +64,6 @@ const LLUUID IMG_ALPHA_GRAD				("e97cf410-8e61-7005-ec06-629eba4cd1fb"); // VIEW
 const LLUUID IMG_ALPHA_GRAD_2D			("38b86f85-2575-52a9-a531-23108d8da837"); // VIEWER
 const LLUUID IMG_TRANSPARENT			("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"); // VIEWER
 
-const LLUUID IMG_BLOOM1	  			    ("3c59f7fe-9dc8-47f9-8aaf-a9dd1fbc3bef"); // VIEWER
 const LLUUID TERRAIN_DIRT_DETAIL		("0bc58228-74a0-7e83-89bc-5c23464bcec5"); // VIEWER
 const LLUUID TERRAIN_GRASS_DETAIL		("63338ede-0037-c4fd-855b-015d77112fc8"); // VIEWER
 const LLUUID TERRAIN_MOUNTAIN_DETAIL	("303cd381-8560-7579-23f1-f0a880799740"); // VIEWER
diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h
index a00a82aff0a8f7118e1e8e8ae2c77a9894246aef..010a190181ba69c2516df61387eb7eaf3548314e 100644
--- a/indra/llcommon/indra_constants.h
+++ b/indra/llcommon/indra_constants.h
@@ -201,7 +201,6 @@ LL_COMMON_API extern const LLUUID IMG_ALPHA_GRAD;
 LL_COMMON_API extern const LLUUID IMG_ALPHA_GRAD_2D;
 LL_COMMON_API extern const LLUUID IMG_TRANSPARENT;
 
-LL_COMMON_API extern const LLUUID IMG_BLOOM1;
 LL_COMMON_API extern const LLUUID TERRAIN_DIRT_DETAIL;
 LL_COMMON_API extern const LLUUID TERRAIN_GRASS_DETAIL;
 LL_COMMON_API extern const LLUUID TERRAIN_MOUNTAIN_DETAIL;
diff --git a/indra/llinventory/llsettingssky.cpp b/indra/llinventory/llsettingssky.cpp
index 36e203cbf559c4ade39ebcd23c95fd18a5b8d357..4543f00454289aea8805141e114da835255a676f 100644
--- a/indra/llinventory/llsettingssky.cpp
+++ b/indra/llinventory/llsettingssky.cpp
@@ -33,8 +33,11 @@
 #include "v3colorutil.h"
 
 //=========================================================================
-static const F32 NIGHTTIME_ELEVATION     = -8.0f; // degrees
-static const F32 NIGHTTIME_ELEVATION_SIN = (F32)sinf(NIGHTTIME_ELEVATION * DEG_TO_RAD);
+namespace {
+    const F32 NIGHTTIME_ELEVATION = -8.0f; // degrees
+    const F32 NIGHTTIME_ELEVATION_SIN = (F32)sinf(NIGHTTIME_ELEVATION * DEG_TO_RAD);
+    const LLUUID IMG_BLOOM1("3c59f7fe-9dc8-47f9-8aaf-a9dd1fbc3bef");
+}
 
 namespace {
     LLQuaternion convert_azimuth_and_altitude_to_quat(F32 azimuth, F32 altitude)
@@ -480,17 +483,17 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList()
                 LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
                 LLSD(LLSDArray(2.0f)(2.0f)(2.0f)("*")))));
         validation.push_back(Validator(SETTING_HAZE_DENSITY,        false,  LLSD::TypeReal,  
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(4.0f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(5.0f)))));
         validation.push_back(Validator(SETTING_HAZE_HORIZON,        false,  LLSD::TypeReal,  
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(1.0f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(5.0f)))));
         validation.push_back(Validator(SETTING_AMBIENT, false, LLSD::TypeArray,
             boost::bind(&Validator::verifyVectorMinMax, _1,
                 LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
                 LLSD(LLSDArray(3.0f)(3.0f)(3.0f)("*")))));
         validation.push_back(Validator(SETTING_DENSITY_MULTIPLIER,  false,  LLSD::TypeReal,  
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(0.0009f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(2.0f)))));
         validation.push_back(Validator(SETTING_DISTANCE_MULTIPLIER, false,  LLSD::TypeReal,  
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(100.0f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(1000.0f)))));
 
 
         validation.push_back(Validator(SETTING_BLOOM_TEXTUREID,     true,  LLSD::TypeUUID));
@@ -501,17 +504,17 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList()
         validation.push_back(Validator(SETTING_CLOUD_POS_DENSITY1,  true,  LLSD::TypeArray, 
             boost::bind(&Validator::verifyVectorMinMax, _1,
                 LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
-                LLSD(LLSDArray(1.68841f)(1.0f)(1.0f)("*")))));
+                LLSD(LLSDArray(1.0f)(1.0f)(3.0f)("*")))));
         validation.push_back(Validator(SETTING_CLOUD_POS_DENSITY2,  true,  LLSD::TypeArray, 
             boost::bind(&Validator::verifyVectorMinMax, _1,
                 LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")),
-                LLSD(LLSDArray(1.68841f)(1.0f)(1.0f)("*")))));
+                LLSD(LLSDArray(1.0f)(1.0f)(1.0f)("*")))));
         validation.push_back(Validator(SETTING_CLOUD_SCALE,         true,  LLSD::TypeReal,  
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.001f)(0.999f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.001f)(3.0f)))));
         validation.push_back(Validator(SETTING_CLOUD_SCROLL_RATE,   true,  LLSD::TypeArray, 
             boost::bind(&Validator::verifyVectorMinMax, _1,
-                LLSD(LLSDArray(0.0f)(0.0f)),
-                LLSD(LLSDArray(20.0f)(20.0f)))));
+                LLSD(LLSDArray(-50.0f)(-50.0f)),
+                LLSD(LLSDArray(50.0f)(50.0f)))));
         validation.push_back(Validator(SETTING_CLOUD_SHADOW,        true,  LLSD::TypeReal,  
             boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(1.0f)))));
         validation.push_back(Validator(SETTING_CLOUD_TEXTUREID,     false, LLSD::TypeUUID));
@@ -521,14 +524,14 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList()
         validation.push_back(Validator(SETTING_DOME_RADIUS,         false, LLSD::TypeReal,  
             boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(1000.0f)(2000.0f)))));
         validation.push_back(Validator(SETTING_GAMMA,               true,  LLSD::TypeReal,  
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(10.0f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(20.0f)))));
         validation.push_back(Validator(SETTING_GLOW,                true,  LLSD::TypeArray, 
             boost::bind(&Validator::verifyVectorMinMax, _1,
-                LLSD(LLSDArray(0.2f)("*")(-2.5f)("*")),
-                LLSD(LLSDArray(20.0f)("*")(0.0f)("*")))));
+                LLSD(LLSDArray(0.2f)("*")(-10.0f)("*")),
+                LLSD(LLSDArray(40.0f)("*")(10.0f)("*")))));
         
         validation.push_back(Validator(SETTING_MAX_Y,               true,  LLSD::TypeReal,  
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(4000.0f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(10000.0f)))));
         validation.push_back(Validator(SETTING_MOON_ROTATION,       true,  LLSD::TypeArray, &Validator::verifyQuaternionNormal));
         validation.push_back(Validator(SETTING_MOON_SCALE,          false, LLSD::TypeReal,
                 boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.25f)(20.0f))), LLSD::Real(1.0)));
diff --git a/indra/llinventory/llsettingswater.cpp b/indra/llinventory/llsettingswater.cpp
index 652e211ac47040f9e41a21590c27ad1cc3c7bca7..33f824028b2163fea003d225a185d4fc0e24f914 100644
--- a/indra/llinventory/llsettingswater.cpp
+++ b/indra/llinventory/llsettingswater.cpp
@@ -213,7 +213,7 @@ LLSettingsWater::validation_list_t LLSettingsWater::validationList()
         // in deeply nested arrays like this [[[[[[[[[[v1,v2,v3]]]]]]]]]]
 
         validation.push_back(Validator(SETTING_BLUR_MULTIPILER, true, LLSD::TypeReal,
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(0.16f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(-0.5f)(0.5f)))));
         validation.push_back(Validator(SETTING_FOG_COLOR, true, LLSD::TypeArray,
             boost::bind(&Validator::verifyVectorMinMax, _1,
                 LLSD(LLSDArray(0.0f)(0.0f)(0.0f)(1.0f)),
@@ -232,17 +232,17 @@ LLSettingsWater::validation_list_t LLSettingsWater::validationList()
                 LLSD(LLSDArray(0.0f)(0.0f)(0.0f)),
                 LLSD(LLSDArray(10.0f)(10.0f)(10.0f)))));
         validation.push_back(Validator(SETTING_SCALE_ABOVE, true, LLSD::TypeReal,
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(1.0f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(3.0f)))));
         validation.push_back(Validator(SETTING_SCALE_BELOW, true, LLSD::TypeReal,
-            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(1.0f)))));
+            boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(3.0f)))));
         validation.push_back(Validator(SETTING_WAVE1_DIR, true, LLSD::TypeArray,
             boost::bind(&Validator::verifyVectorMinMax, _1,
-                LLSD(LLSDArray(-4.0f)(-4.0f)),
-                LLSD(LLSDArray(4.0f)(4.0f)))));
+                LLSD(LLSDArray(-20.0f)(-20.0f)),
+                LLSD(LLSDArray(20.0f)(20.0f)))));
         validation.push_back(Validator(SETTING_WAVE2_DIR, true, LLSD::TypeArray,
             boost::bind(&Validator::verifyVectorMinMax, _1,
-                LLSD(LLSDArray(-4.0f)(-4.0f)),
-                LLSD(LLSDArray(4.0f)(4.0f)))));
+                LLSD(LLSDArray(-20.0f)(-20.0f)),
+                LLSD(LLSDArray(20.0f)(20.0f)))));
     }
 
     return validation;
diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml
index fd66df0f74cd7e75f750ec8403e570032a12bcee..8ef96009d44d41739b3c7b1615ed073608a4d690 100644
--- a/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml
+++ b/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml
@@ -119,7 +119,7 @@
                             layout="topleft"
                             left_delta="5"
                             min_val="0"
-                            max_val="1"
+                            max_val="5"
                             name="haze_horizon"
                             top_delta="20"
                             width="207"
@@ -142,7 +142,7 @@
                             layout="topleft"
                             left_delta="5"
                             min_val="0"
-                            max_val="1"
+                            max_val="5"
                             name="haze_density"
                             top_delta="20"
                             width="207"
@@ -164,7 +164,7 @@
                             initial_value="0"
                             layout="topleft"
                             left_delta="5"
-                            max_val="10"
+                            max_val="20"
                             name="scene_gamma"
                             top_delta="20"
                             width="214"
@@ -195,7 +195,7 @@
                             layout="topleft"
                             left_delta="5"
                             min_val="0.0001"
-                            max_val="0.9"
+                            max_val="2"
                             name="density_multip"
                             top_delta="20"
                             width="207"
@@ -218,7 +218,7 @@
                             layout="topleft"
                             left_delta="5"
                             min_val="0"
-                            max_val="100"
+                            max_val="1000"
                             name="distance_multip"
                             top_delta="20"
                             width="219"
@@ -241,7 +241,7 @@
                             layout="topleft"
                             left_delta="5"
                             min_val="0"
-                            max_val="4000"
+                            max_val="10000"
                             name="max_alt"
                             top_delta="20"
                             width="219"
diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml
index 412ed8bf82e1a76f1bc22d91e3c262f38bfff5bc..568345e01f9828077369431c0c19885e6d37e118 100644
--- a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml
+++ b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml
@@ -83,7 +83,7 @@
                     layout="topleft"
                     left_delta="5"
                     min_val="0"
-                    max_val="1"
+                    max_val="3"
                     name="cloud_scale"
                     top_delta="20"
                     width="214"
@@ -105,10 +105,10 @@
                     visible="true"
                     left_delta="0"
                     top_delta="21"
-                    min_val_x="-10"
-                    max_val_x="10"
-                    min_val_y="-10"
-                    max_val_y="10" />
+                    min_val_x="-30"
+                    max_val_x="30"
+                    min_val_y="-30"
+                    max_val_y="30" />
 
             <text
                     follows="left|top"
@@ -183,7 +183,7 @@
                     layout="topleft"
                     left_delta="0"
                     min_val="0"
-                    max_val="1"
+                    max_val="3"
                     name="cloud_density_d"
                     top_delta="20"
                     width="200"
@@ -237,7 +237,7 @@
                     layout="topleft"
                     left_delta="0"
                     min_val="0"
-                    max_val="1"
+                    max_val="2"
                     name="cloud_detail_d"
                     top_delta="20"
                     width="200"
diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml
index 841a8c3199bf9b984f8b066b86e0648996c64dfc..bc267bb7b9993347dc728ec4ddc7c6b7553eab39 100644
--- a/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml
+++ b/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml
@@ -124,8 +124,8 @@
                     initial_value="0"
                     layout="topleft"
                     left_delta="5"
-                    min_val="0"
-                    max_val="0.5"
+                    min_val="-2"
+                    max_val="2"
                     name="glow_focus"
                     top_delta="15"
                     width="250"
@@ -147,8 +147,8 @@
                     initial_value="0"
                     layout="topleft"
                     left_delta="5"
-                    min_val="1"
-                    max_val="1.99"
+                    min_val="0"
+                    max_val="2"
                     name="glow_size"
                     top_delta="15"
                     width="250"
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 4c9ae5794133c0473054e0e5f158e02cf248535d..d88195bf48774617ddc53012500a974cdd54c83f 100644
--- a/indra/newview/skins/default/xui/en/panel_settings_water.xml
+++ b/indra/newview/skins/default/xui/en/panel_settings_water.xml
@@ -68,6 +68,7 @@
                     initial_value="0"
                     layout="top"
                     left_delta="15"
+                    min_val="-10"
                     max_val="10"
                     name="water_fog_density"
                     top_delta="5"
@@ -190,11 +191,11 @@
                         visible="true"
                         left_delta="0"
                         top_delta="21"
-                        min_val_x="-4"
-                        max_val_x="4"
+                        min_val_x="-20"
+                        max_val_x="20"
                         increment_x="0.5f"
-                        min_val_y="-4"
-                        max_val_y="4"
+                        min_val_y="-20"
+                        max_val_y="20"
                         increment_y="0.5f"
                         arrow_color="white"/>
                     
@@ -214,10 +215,10 @@
                         visible="true"
                         left_delta="0"
                         top_delta="21"
-                        min_val_x="-4"
-                        max_val_x="4"
-                        min_val_y="-4"
-                        max_val_y="4" 
+                        min_val_x="-20"
+                        max_val_x="20"
+                        min_val_y="-20"
+                        max_val_y="20" 
                         arrow_color="white"/>
 
                     <text
@@ -306,6 +307,8 @@
                             height="16"
                             layout="topleft"
                             left_delta="5"
+                            min_val="0"
+                            max_val="3"
                             name="water_scale_above"
                             top_pad="5"
                             width="200"
@@ -330,6 +333,8 @@
                             initial_value="0"
                             layout="topleft"
                             left_delta="5"
+                            min_val="0"
+                            max_val="3"
                             name="water_scale_below"
                             top_pad="5"
                             width="200"
@@ -352,7 +357,8 @@
                             initial_value="0"
                             layout="topleft"
                             left_delta="5"
-                            max_val="0.16"
+                            min_val="-0.5"
+                            max_val="0.5"
                             name="water_blur_multip"
                             top_pad="5"
                             width="200"