diff options
49 files changed, 2440 insertions, 345 deletions
diff --git a/autobuild.xml b/autobuild.xml index d387dfba72..68fae7c26d 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -59,21 +59,57 @@ <string>libatmosphere</string> <key>platforms</key> <map> + <key>darwin</key> + <map> + <key>archive</key> + <map> + <key>hash</key> + <string>3950f04d10efd9596093e45f2a265ce1</string> + <key>url</key> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/14058/88070/libatmosphere-1.0.0.100-darwin-512856.tar.bz2</string> + </map> + <key>name</key> + <string>windows64</string> + </map> + <key>darwin64</key> + <map> + <key>archive</key> + <map> + <key>hash</key> + <string>9901421858f72005b1afeacc6d0480bf</string> + <key>url</key> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/14057/88064/libatmosphere-1.0.0.100-darwin64-512856.tar.bz2</string> + </map> + <key>name</key> + <string>windows64</string> + </map> + <key>windows</key> + <map> + <key>archive</key> + <map> + <key>hash</key> + <string>61532e0f9ec8212964df6944a92a71b4</string> + <key>url</key> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/14060/88090/libatmosphere-1.0.0.100-windows-512856.tar.bz2</string> + </map> + <key>name</key> + <string>windows64</string> + </map> <key>windows64</key> <map> <key>archive</key> <map> <key>hash</key> - <string>b6fa628aafcdd006d17e799825fbeb91</string> + <string>6b80692f7fc15ce9348eeee03efb1e24</string> <key>url</key> - <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/13879/86217/libatmosphere-1.0.0.100-windows64-512753.tar.bz2</string> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/14059/88084/libatmosphere-1.0.0.100-windows64-512856.tar.bz2</string> </map> <key>name</key> <string>windows64</string> </map> </map> <key>version</key> - <string>1.0.0.512753</string> + <string>1.0.0.512856</string> </map> <key>apr_suite</key> <map> diff --git a/indra/llinventory/llsettingsdaycycle.cpp b/indra/llinventory/llsettingsdaycycle.cpp index a689dd3710..409fcf28e3 100644 --- a/indra/llinventory/llsettingsdaycycle.cpp +++ b/indra/llinventory/llsettingsdaycycle.cpp @@ -268,10 +268,27 @@ LLSD LLSettingsDay::defaults() LLSD dfltsetting; dfltsetting[SETTING_NAME] = "_default_"; - dfltsetting[SETTING_TRACKS] = LLSDArray( - LLSDArray(LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))(SETTING_KEYNAME, "_default_")) - (LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))(SETTING_KEYNAME, "_default_"))); - dfltsetting[SETTING_FRAMES] = LLSD::emptyMap(); + + LLSD waterTrack; + waterTrack[SETTING_KEYKFRAME] = 0.0f; + waterTrack[SETTING_KEYNAME] = "_default_"; + + LLSD skyTrack; + skyTrack[SETTING_KEYKFRAME] = 0.0f; + skyTrack[SETTING_KEYNAME] = "_default_"; + + LLSD tracks; + tracks.append(LLSDArray(waterTrack)); + tracks.append(LLSDArray(skyTrack)); + + dfltsetting[SETTING_TRACKS] = tracks; + + LLSD frames(LLSD::emptyMap()); + + frames["water:_defaults_"] = LLSettingsWater::defaults(); + frames["sky:_defaults_"] = LLSettingsSky::defaults(); + + dfltsetting[SETTING_FRAMES] = frames; return dfltsetting; } @@ -281,6 +298,8 @@ void LLSettingsDay::blend(const LLSettingsBase::ptr_t &other, F64 mix) LL_ERRS("DAYCYCLE") << "Day cycles are not blendable!" << LL_ENDL; } +#pragma optimize("", off) + namespace { bool validateDayCycleTrack(LLSD &value) @@ -298,6 +317,8 @@ namespace S32 index = 0; while (index < (*track).size()) { + LLSD& elem = (*track)[index]; + ++framecount; if (index >= LLSettingsDay::FRAME_MAX) { @@ -305,40 +326,46 @@ namespace continue; } - if (!(*track)[index].has(LLSettingsDay::SETTING_KEYKFRAME) || - !(*track)[index][LLSettingsDay::SETTING_KEYKFRAME].isReal()) + if (!elem.has(LLSettingsDay::SETTING_KEYKFRAME)) + { + (*track).erase(index); + continue; + } + + if (!elem[LLSettingsDay::SETTING_KEYKFRAME].isReal()) { (*track).erase(index); continue; } - if (!(*track)[index].has(LLSettingsDay::SETTING_KEYNAME) && - !(*track)[index].has(LLSettingsDay::SETTING_KEYID)) + if (!elem.has(LLSettingsDay::SETTING_KEYNAME) && + !elem.has(LLSettingsDay::SETTING_KEYID)) { (*track).erase(index); continue; } - F32 frame = (*track)[index][LLSettingsDay::SETTING_KEYKFRAME].asReal(); + F32 frame = elem[LLSettingsDay::SETTING_KEYKFRAME].asReal(); if ((frame < 0.0) || (frame > 1.0)) { frame = llclamp(frame, 0.0f, 1.0f); - (*track)[index][LLSettingsDay::SETTING_KEYKFRAME] = frame; + elem[LLSettingsDay::SETTING_KEYKFRAME] = frame; } ++index; } } - framecount -= value[0].size(); + int waterTracks = value[0].size(); + int skyTracks = framecount - waterTracks; - if (value[0].size() < 1) + if (waterTracks < 1) { LL_WARNS("SETTINGS") << "Missing water track" << LL_ENDL; return false; } - if (framecount < 1) + if (skyTracks < 1) { LL_WARNS("SETTINGS") << "Missing sky tracks" << LL_ENDL; return false; @@ -404,6 +431,7 @@ namespace } } +#pragma optimize("", on) LLSettingsDay::validation_list_t LLSettingsDay::getValidationList() const { return LLSettingsDay::validationList(); diff --git a/indra/llinventory/llsettingssky.cpp b/indra/llinventory/llsettingssky.cpp index ff3f5224dd..c2d92fdd38 100644 --- a/indra/llinventory/llsettingssky.cpp +++ b/indra/llinventory/llsettingssky.cpp @@ -54,9 +54,14 @@ const F32 LLSettingsSky::NIGHTTIME_ELEVATION_COS((F32)sin(NIGHTTIME_ELEVATION*DE //========================================================================= const std::string LLSettingsSky::SETTING_AMBIENT("ambient"); -const std::string LLSettingsSky::SETTING_BLOOM_TEXTUREID("bloom_id"); const std::string LLSettingsSky::SETTING_BLUE_DENSITY("blue_density"); const std::string LLSettingsSky::SETTING_BLUE_HORIZON("blue_horizon"); +const std::string LLSettingsSky::SETTING_DENSITY_MULTIPLIER("density_multiplier"); +const std::string LLSettingsSky::SETTING_DISTANCE_MULTIPLIER("distance_multiplier"); +const std::string LLSettingsSky::SETTING_HAZE_DENSITY("haze_density"); +const std::string LLSettingsSky::SETTING_HAZE_HORIZON("haze_horizon"); + +const std::string LLSettingsSky::SETTING_BLOOM_TEXTUREID("bloom_id"); const std::string LLSettingsSky::SETTING_CLOUD_COLOR("cloud_color"); const std::string LLSettingsSky::SETTING_CLOUD_POS_DENSITY1("cloud_pos_density1"); const std::string LLSettingsSky::SETTING_CLOUD_POS_DENSITY2("cloud_pos_density2"); @@ -64,14 +69,12 @@ const std::string LLSettingsSky::SETTING_CLOUD_SCALE("cloud_scale"); const std::string LLSettingsSky::SETTING_CLOUD_SCROLL_RATE("cloud_scroll_rate"); const std::string LLSettingsSky::SETTING_CLOUD_SHADOW("cloud_shadow"); const std::string LLSettingsSky::SETTING_CLOUD_TEXTUREID("cloud_id"); -const std::string LLSettingsSky::SETTING_DENSITY_MULTIPLIER("density_multiplier"); -const std::string LLSettingsSky::SETTING_DISTANCE_MULTIPLIER("distance_multiplier"); + const std::string LLSettingsSky::SETTING_DOME_OFFSET("dome_offset"); const std::string LLSettingsSky::SETTING_DOME_RADIUS("dome_radius"); const std::string LLSettingsSky::SETTING_GAMMA("gamma"); const std::string LLSettingsSky::SETTING_GLOW("glow"); -const std::string LLSettingsSky::SETTING_HAZE_DENSITY("haze_density"); -const std::string LLSettingsSky::SETTING_HAZE_HORIZON("haze_horizon"); + const std::string LLSettingsSky::SETTING_LIGHT_NORMAL("lightnorm"); const std::string LLSettingsSky::SETTING_MAX_Y("max_y"); const std::string LLSettingsSky::SETTING_MOON_ROTATION("moon_rotation"); @@ -246,12 +249,12 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList() // copy constructor for LLSDArray. Directly binding the LLSDArray as // a parameter without first wrapping it in a pure LLSD object will result // in deeply nested arrays like this [[[[[[[[[[v1,v2,v3]]]]]]]]]] - + +#if SUPPORT_LEGACY_ATMOSPHERICS validation.push_back(Validator(SETTING_AMBIENT, true, 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_BLOOM_TEXTUREID, true, LLSD::TypeUUID)); validation.push_back(Validator(SETTING_BLUE_DENSITY, true, LLSD::TypeArray, boost::bind(&Validator::verifyVectorMinMax, _1, LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), @@ -260,6 +263,18 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList() boost::bind(&Validator::verifyVectorMinMax, _1, LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), LLSD(LLSDArray(2.0f)(2.0f)(2.0f)("*"))))); + validation.push_back(Validator(SETTING_DENSITY_MULTIPLIER, true, LLSD::TypeReal, + boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(0.0009f))))); + validation.push_back(Validator(SETTING_DISTANCE_MULTIPLIER, true, LLSD::TypeReal, + boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(100.0f))))); + validation.push_back(Validator(SETTING_HAZE_DENSITY, true, LLSD::TypeReal, + boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(4.0f))))); + validation.push_back(Validator(SETTING_HAZE_HORIZON, true, LLSD::TypeReal, + boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(1.0f))))); + +#endif + + validation.push_back(Validator(SETTING_BLOOM_TEXTUREID, true, LLSD::TypeUUID)); validation.push_back(Validator(SETTING_CLOUD_COLOR, true, LLSD::TypeArray, boost::bind(&Validator::verifyVectorMinMax, _1, LLSD(LLSDArray(0.0f)(0.0f)(0.0f)("*")), @@ -281,10 +296,7 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList() 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)); - validation.push_back(Validator(SETTING_DENSITY_MULTIPLIER, true, LLSD::TypeReal, - boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(0.0009f))))); - validation.push_back(Validator(SETTING_DISTANCE_MULTIPLIER, true, LLSD::TypeReal, - boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(100.0f))))); + validation.push_back(Validator(SETTING_DOME_OFFSET, false, LLSD::TypeReal, boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(1.0f))))); validation.push_back(Validator(SETTING_DOME_RADIUS, false, LLSD::TypeReal, @@ -295,10 +307,7 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList() boost::bind(&Validator::verifyVectorMinMax, _1, LLSD(LLSDArray(0.2f)("*")(-2.5f)("*")), LLSD(LLSDArray(20.0f)("*")(0.0f)("*"))))); - validation.push_back(Validator(SETTING_HAZE_DENSITY, true, LLSD::TypeReal, - boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(4.0f))))); - validation.push_back(Validator(SETTING_HAZE_HORIZON, true, LLSD::TypeReal, - boost::bind(&Validator::verifyFloatRange, _1, LLSD(LLSDArray(0.0f)(1.0f))))); + validation.push_back(Validator(SETTING_LIGHT_NORMAL, false, LLSD::TypeArray, boost::bind(&Validator::verifyVectorNormalized, _1, 3))); validation.push_back(Validator(SETTING_MAX_Y, true, LLSD::TypeReal, @@ -330,6 +339,51 @@ LLSettingsSky::validation_list_t LLSettingsSky::validationList() return validation; } +LLSD LLSettingsSky::rayleighConfigDefault() +{ + LLSD dflt_rayleigh; + dflt_rayleigh[SETTING_DENSITY_PROFILE_WIDTH] = 0.0f; // 0 -> the entire atmosphere + dflt_rayleigh[SETTING_DENSITY_PROFILE_EXP_TERM] = 1.0f; + dflt_rayleigh[SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR] = -1.0f / 8000.0f; + dflt_rayleigh[SETTING_DENSITY_PROFILE_LINEAR_TERM] = 0.0f; + dflt_rayleigh[SETTING_DENSITY_PROFILE_CONSTANT_TERM] = 0.0f; + return dflt_rayleigh; +} + +LLSD LLSettingsSky::absorptionConfigDefault() +{ +// absorption (ozone) has two linear ramping zones + LLSD dflt_absorption_layer_a; + dflt_absorption_layer_a[SETTING_DENSITY_PROFILE_WIDTH] = 25000.0f; // 0 -> the entire atmosphere + dflt_absorption_layer_a[SETTING_DENSITY_PROFILE_EXP_TERM] = 0.0f; + dflt_absorption_layer_a[SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR] = 0.0f; + dflt_absorption_layer_a[SETTING_DENSITY_PROFILE_LINEAR_TERM] = -1.0f / 25000.0f; + dflt_absorption_layer_a[SETTING_DENSITY_PROFILE_CONSTANT_TERM] = -2.0f / 3.0f; + + LLSD dflt_absorption_layer_b; + dflt_absorption_layer_b[SETTING_DENSITY_PROFILE_WIDTH] = 0.0f; // 0 -> remainder of the atmosphere + dflt_absorption_layer_b[SETTING_DENSITY_PROFILE_EXP_TERM] = 0.0f; + dflt_absorption_layer_b[SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR] = 0.0f; + dflt_absorption_layer_b[SETTING_DENSITY_PROFILE_LINEAR_TERM] = -1.0f / 15000.0f; + dflt_absorption_layer_b[SETTING_DENSITY_PROFILE_CONSTANT_TERM] = 8.0f / 3.0f; + + LLSD dflt_absorption; + dflt_absorption.append(dflt_absorption_layer_a); + dflt_absorption.append(dflt_absorption_layer_b); + return dflt_absorption; +} + +LLSD LLSettingsSky::mieConfigDefault() +{ + LLSD dflt_mie; + dflt_mie[SETTING_DENSITY_PROFILE_WIDTH] = 0.0f; // 0 -> the entire atmosphere + dflt_mie[SETTING_DENSITY_PROFILE_EXP_TERM] = 1.0f; + dflt_mie[SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR] = -1.0f / 1200.0f; + dflt_mie[SETTING_DENSITY_PROFILE_LINEAR_TERM] = 0.0f; + dflt_mie[SETTING_DENSITY_PROFILE_CONSTANT_TERM] = 0.0f; + dflt_mie[SETTING_MIE_ANISOTROPY_FACTOR] = 0.9f; + return dflt_mie; +} LLSD LLSettingsSky::defaults() { @@ -341,23 +395,28 @@ LLSD LLSettingsSky::defaults() LLQuaternion moonquat = ~sunquat; // Magic constants copied form dfltsetting.xml +#if SUPPORT_LEGACY_ATMOSPHERICS dfltsetting[SETTING_AMBIENT] = LLColor4::white.getValue(); dfltsetting[SETTING_BLUE_DENSITY] = LLColor4(0.2447, 0.4487, 0.7599, 0.0).getValue(); dfltsetting[SETTING_BLUE_HORIZON] = LLColor4(0.4954, 0.4954, 0.6399, 0.0).getValue(); + dfltsetting[SETTING_DENSITY_MULTIPLIER] = LLSD::Real(0.0001); + dfltsetting[SETTING_DISTANCE_MULTIPLIER] = LLSD::Real(0.8000); + dfltsetting[SETTING_HAZE_DENSITY] = LLSD::Real(0.6999); + dfltsetting[SETTING_HAZE_HORIZON] = LLSD::Real(0.1899); +#endif + dfltsetting[SETTING_CLOUD_COLOR] = LLColor4(0.4099, 0.4099, 0.4099, 0.0).getValue(); dfltsetting[SETTING_CLOUD_POS_DENSITY1] = LLColor4(1.0000, 0.5260, 1.0000, 0.0).getValue(); dfltsetting[SETTING_CLOUD_POS_DENSITY2] = LLColor4(1.0000, 0.5260, 1.0000, 0.0).getValue(); dfltsetting[SETTING_CLOUD_SCALE] = LLSD::Real(0.4199); dfltsetting[SETTING_CLOUD_SCROLL_RATE] = LLSDArray(10.1999)(10.0109); dfltsetting[SETTING_CLOUD_SHADOW] = LLSD::Real(0.2699); - dfltsetting[SETTING_DENSITY_MULTIPLIER] = LLSD::Real(0.0001); - dfltsetting[SETTING_DISTANCE_MULTIPLIER] = LLSD::Real(0.8000); + dfltsetting[SETTING_DOME_OFFSET] = LLSD::Real(0.96f); dfltsetting[SETTING_DOME_RADIUS] = LLSD::Real(15000.f); dfltsetting[SETTING_GAMMA] = LLSD::Real(1.0); dfltsetting[SETTING_GLOW] = LLColor4(5.000, 0.0010, -0.4799, 1.0).getValue(); - dfltsetting[SETTING_HAZE_DENSITY] = LLSD::Real(0.6999); - dfltsetting[SETTING_HAZE_HORIZON] = LLSD::Real(0.1899); + dfltsetting[SETTING_LIGHT_NORMAL] = LLVector3(0.0000, 0.9126, -0.4086).getValue(); dfltsetting[SETTING_MAX_Y] = LLSD::Real(1605); dfltsetting[SETTING_MOON_ROTATION] = moonquat.getValue(); @@ -377,46 +436,9 @@ LLSD LLSettingsSky::defaults() dfltsetting[SETTING_SKY_BOTTOM_RADIUS] = 6360.0f; dfltsetting[SETTING_SKY_TOP_RADIUS] = 6420.0f; dfltsetting[SETTING_SUN_ARC_RADIANS] = 0.00935f / 2.0f; - - LLSD dflt_rayleigh; - dflt_rayleigh[SETTING_DENSITY_PROFILE_WIDTH] = 0.0f; // 0 -> the entire atmosphere - dflt_rayleigh[SETTING_DENSITY_PROFILE_EXP_TERM] = 1.0f; - dflt_rayleigh[SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR] = -1.0f / 8000.0f; - dflt_rayleigh[SETTING_DENSITY_PROFILE_LINEAR_TERM] = 0.0f; - dflt_rayleigh[SETTING_DENSITY_PROFILE_CONSTANT_TERM] = 0.0f; - - dfltsetting[SETTING_RAYLEIGH_CONFIG] = dflt_rayleigh; - - LLSD dflt_mie; - dflt_mie[SETTING_DENSITY_PROFILE_WIDTH] = 0.0f; // 0 -> the entire atmosphere - dflt_mie[SETTING_DENSITY_PROFILE_EXP_TERM] = 1.0f; - dflt_mie[SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR] = -1.0f / 1200.0f; - dflt_mie[SETTING_DENSITY_PROFILE_LINEAR_TERM] = 0.0f; - dflt_mie[SETTING_DENSITY_PROFILE_CONSTANT_TERM] = 0.0f; - dflt_mie[SETTING_MIE_ANISOTROPY_FACTOR] = 0.9f; - - dfltsetting[SETTING_MIE_CONFIG] = dflt_mie; - - // absorption (ozone) has two linear ramping zones - LLSD dflt_absorption_a; - dflt_absorption_a[SETTING_DENSITY_PROFILE_WIDTH] = 25000.0f; // 0 -> the entire atmosphere - dflt_absorption_a[SETTING_DENSITY_PROFILE_EXP_TERM] = 0.0f; - dflt_absorption_a[SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR] = 0.0f; - dflt_absorption_a[SETTING_DENSITY_PROFILE_LINEAR_TERM] = -1.0f / 25000.0f; - dflt_absorption_a[SETTING_DENSITY_PROFILE_CONSTANT_TERM] = -2.0f / 3.0f; - - LLSD dflt_absorption_b; - dflt_absorption_b[SETTING_DENSITY_PROFILE_WIDTH] = 0.0f; // 0 -> remainder of the atmosphere - dflt_absorption_b[SETTING_DENSITY_PROFILE_EXP_TERM] = 0.0f; - dflt_absorption_b[SETTING_DENSITY_PROFILE_EXP_SCALE_FACTOR] = 0.0f; - dflt_absorption_b[SETTING_DENSITY_PROFILE_LINEAR_TERM] = -1.0f / 15000.0f; - dflt_absorption_b[SETTING_DENSITY_PROFILE_CONSTANT_TERM] = 8.0f / 3.0f; - - LLSD wtf; - wtf.append(dflt_absorption_a); - wtf.append(dflt_absorption_b); - - dfltsetting[SETTING_ABSORPTION_CONFIG] = wtf; + dfltsetting[SETTING_RAYLEIGH_CONFIG] = rayleighConfigDefault(); + dfltsetting[SETTING_MIE_CONFIG] = mieConfigDefault(); + dfltsetting[SETTING_ABSORPTION_CONFIG] = absorptionConfigDefault(); return dfltsetting; } @@ -560,6 +582,9 @@ LLSD LLSettingsSky::translateLegacySettings(LLSD legacy) { LLSD newsettings(defaults()); +// AdvancedAtmospherics TODO +// These need to be translated into density profile info in the new settings format... +#if SUPPORT_LEGACY_ATMOSPHERICS if (legacy.has(SETTING_AMBIENT)) { newsettings[SETTING_AMBIENT] = LLColor3(legacy[SETTING_AMBIENT]).getValue(); @@ -572,6 +597,39 @@ LLSD LLSettingsSky::translateLegacySettings(LLSD legacy) { newsettings[SETTING_BLUE_HORIZON] = LLColor3(legacy[SETTING_BLUE_HORIZON]).getValue(); } + if (legacy.has(SETTING_DENSITY_MULTIPLIER)) + { + newsettings[SETTING_DENSITY_MULTIPLIER] = LLSD::Real(legacy[SETTING_DENSITY_MULTIPLIER][0].asReal()); + } + if (legacy.has(SETTING_DISTANCE_MULTIPLIER)) + { + newsettings[SETTING_DISTANCE_MULTIPLIER] = LLSD::Real(legacy[SETTING_DISTANCE_MULTIPLIER][0].asReal()); + } + if (legacy.has(SETTING_HAZE_DENSITY)) + { + newsettings[SETTING_HAZE_DENSITY] = LLSD::Real(legacy[SETTING_HAZE_DENSITY][0].asReal()); + } + if (legacy.has(SETTING_HAZE_HORIZON)) + { + newsettings[SETTING_HAZE_HORIZON] = LLSD::Real(legacy[SETTING_HAZE_HORIZON][0].asReal()); + } +#endif + + if (!legacy.has(SETTING_RAYLEIGH_CONFIG)) + { + newsettings[SETTING_RAYLEIGH_CONFIG] = rayleighConfigDefault(); + } + + if (!legacy.has(SETTING_ABSORPTION_CONFIG)) + { + newsettings[SETTING_ABSORPTION_CONFIG] = absorptionConfigDefault(); + } + + if (!legacy.has(SETTING_MIE_CONFIG)) + { + newsettings[SETTING_MIE_CONFIG] = mieConfigDefault(); + } + if (legacy.has(SETTING_CLOUD_COLOR)) { newsettings[SETTING_CLOUD_COLOR] = LLColor3(legacy[SETTING_CLOUD_COLOR]).getValue(); @@ -607,14 +665,8 @@ LLSD LLSettingsSky::translateLegacySettings(LLSD legacy) { newsettings[SETTING_CLOUD_SHADOW] = LLSD::Real(legacy[SETTING_CLOUD_SHADOW][0].asReal()); } - if (legacy.has(SETTING_DENSITY_MULTIPLIER)) - { - newsettings[SETTING_DENSITY_MULTIPLIER] = LLSD::Real(legacy[SETTING_DENSITY_MULTIPLIER][0].asReal()); - } - if (legacy.has(SETTING_DISTANCE_MULTIPLIER)) - { - newsettings[SETTING_DISTANCE_MULTIPLIER] = LLSD::Real(legacy[SETTING_DISTANCE_MULTIPLIER][0].asReal()); - } + + if (legacy.has(SETTING_GAMMA)) { newsettings[SETTING_GAMMA] = legacy[SETTING_GAMMA][0].asReal(); @@ -623,14 +675,7 @@ LLSD LLSettingsSky::translateLegacySettings(LLSD legacy) { newsettings[SETTING_GLOW] = LLColor3(legacy[SETTING_GLOW]).getValue(); } - if (legacy.has(SETTING_HAZE_DENSITY)) - { - newsettings[SETTING_HAZE_DENSITY] = LLSD::Real(legacy[SETTING_HAZE_DENSITY][0].asReal()); - } - if (legacy.has(SETTING_HAZE_HORIZON)) - { - newsettings[SETTING_HAZE_HORIZON] = LLSD::Real(legacy[SETTING_HAZE_HORIZON][0].asReal()); - } + if (legacy.has(SETTING_LIGHT_NORMAL)) { newsettings[SETTING_LIGHT_NORMAL] = LLVector3(legacy[SETTING_LIGHT_NORMAL]).getValue(); @@ -648,6 +693,44 @@ LLSD LLSettingsSky::translateLegacySettings(LLSD legacy) newsettings[SETTING_SUNLIGHT_COLOR] = LLColor4(legacy[SETTING_SUNLIGHT_COLOR]).getValue(); } + if (legacy.has(SETTING_PLANET_RADIUS)) + { + newsettings[SETTING_PLANET_RADIUS] = LLSD::Real(legacy[SETTING_PLANET_RADIUS].asReal()); + } + else + { + newsettings[SETTING_PLANET_RADIUS] = 6360.0f; + } + + if (legacy.has(SETTING_SKY_BOTTOM_RADIUS)) + { + newsettings[SETTING_SKY_BOTTOM_RADIUS] = LLSD::Real(legacy[SETTING_SKY_BOTTOM_RADIUS].asReal()); + } + else + { + newsettings[SETTING_SKY_BOTTOM_RADIUS] = 6360.0f; + } + + if (legacy.has(SETTING_SKY_TOP_RADIUS)) + { + newsettings[SETTING_SKY_TOP_RADIUS] = LLSD::Real(legacy[SETTING_SKY_TOP_RADIUS].asReal()); + } + else + { + newsettings[SETTING_SKY_TOP_RADIUS] = 6420.0f; + } + + if (legacy.has(SETTING_SUN_ARC_RADIANS)) + { + newsettings[SETTING_SUN_ARC_RADIANS] = LLSD::Real(legacy[SETTING_SUN_ARC_RADIANS].asReal()); + } + else + { + newsettings[SETTING_SUN_ARC_RADIANS] = 0.00935f / 2.0f; + } + + + if (legacy.has(SETTING_LEGACY_EAST_ANGLE) && legacy.has(SETTING_LEGACY_SUN_ANGLE)) { // convert the east and sun angles into a quaternion. F32 azimuth = legacy[SETTING_LEGACY_EAST_ANGLE].asReal(); @@ -716,6 +799,8 @@ void LLSettingsSky::calculateHeavnlyBodyPositions() void LLSettingsSky::calculateLightSettings() { + +#if SUPPORT_LEGACY_ATMOSPHERICS LLColor3 vary_HazeColor; LLColor3 vary_SunlightColor; LLColor3 vary_AmbientColor; @@ -804,6 +889,8 @@ void LLSettingsSky::calculateLightSettings() mFadeColor = mTotalAmbient + (mSunDiffuse + mMoonDiffuse) * 0.5f; mFadeColor.setAlpha(0); +#endif + } diff --git a/indra/llinventory/llsettingssky.h b/indra/llinventory/llsettingssky.h index 1d860016fb..3c5e271d39 100644 --- a/indra/llinventory/llsettingssky.h +++ b/indra/llinventory/llsettingssky.h @@ -31,13 +31,20 @@ #include "llsettingsbase.h" #include "v4coloru.h" +#define SUPPORT_LEGACY_ATMOSPHERICS 1 + class LLSettingsSky: public LLSettingsBase { public: + static const std::string SETTING_AMBIENT; - static const std::string SETTING_BLOOM_TEXTUREID; static const std::string SETTING_BLUE_DENSITY; static const std::string SETTING_BLUE_HORIZON; + static const std::string SETTING_DENSITY_MULTIPLIER; + static const std::string SETTING_DISTANCE_MULTIPLIER; + static const std::string SETTING_HAZE_DENSITY; + static const std::string SETTING_HAZE_HORIZON; + static const std::string SETTING_BLOOM_TEXTUREID; static const std::string SETTING_CLOUD_COLOR; static const std::string SETTING_CLOUD_POS_DENSITY1; static const std::string SETTING_CLOUD_POS_DENSITY2; @@ -45,14 +52,10 @@ public: static const std::string SETTING_CLOUD_SCROLL_RATE; static const std::string SETTING_CLOUD_SHADOW; static const std::string SETTING_CLOUD_TEXTUREID; - static const std::string SETTING_DENSITY_MULTIPLIER; - static const std::string SETTING_DISTANCE_MULTIPLIER; static const std::string SETTING_DOME_OFFSET; static const std::string SETTING_DOME_RADIUS; static const std::string SETTING_GAMMA; - static const std::string SETTING_GLOW; - static const std::string SETTING_HAZE_DENSITY; - static const std::string SETTING_HAZE_HORIZON; + static const std::string SETTING_GLOW; static const std::string SETTING_LIGHT_NORMAL; static const std::string SETTING_MAX_Y; static const std::string SETTING_MOON_ROTATION; @@ -96,7 +99,13 @@ public: static LLSD defaults(); + LLUUID getBloomTextureId() const + { + return mSettings[SETTING_BLOOM_TEXTUREID].asUUID(); + } + //--------------------------------------------------------------------- +#if SUPPORT_LEGACY_ATMOSPHERICS LLColor3 getAmbientColor() const { return LLColor3(mSettings[SETTING_AMBIENT]); @@ -107,11 +116,6 @@ public: setValue(SETTING_AMBIENT, val); } - LLUUID getBloomTextureId() const - { - return mSettings[SETTING_BLOOM_TEXTUREID].asUUID(); - } - LLColor3 getBlueDensity() const { return LLColor3(mSettings[SETTING_BLUE_DENSITY]); @@ -132,6 +136,47 @@ public: setValue(SETTING_BLUE_HORIZON, val); } + F32 getDensityMultiplier() const + { + return mSettings[SETTING_DENSITY_MULTIPLIER].asReal(); + } + + void setDensityMultiplier(F32 val) + { + setValue(SETTING_DENSITY_MULTIPLIER, val); + } + + F32 getDistanceMultiplier() const + { + return mSettings[SETTING_DISTANCE_MULTIPLIER].asReal(); + } + + void setDistanceMultiplier(F32 val) + { + setValue(SETTING_DISTANCE_MULTIPLIER, val); + } + + F32 getHazeDensity() const + { + return mSettings[SETTING_HAZE_DENSITY].asReal(); + } + + void setHazeDensity(F32 val) + { + setValue(SETTING_HAZE_DENSITY, val); + } + + F32 getHazeHorizon() const + { + return mSettings[SETTING_HAZE_HORIZON].asReal(); + } + + void setHazeHorizon(F32 val) + { + setValue(SETTING_HAZE_HORIZON, val); + } +#endif + LLColor3 getCloudColor() const { return LLColor3(mSettings[SETTING_CLOUD_COLOR]); @@ -209,26 +254,7 @@ public: setValue(SETTING_CLOUD_SHADOW, val); } - F32 getDensityMultiplier() const - { - return mSettings[SETTING_DENSITY_MULTIPLIER].asReal(); - } - - void setDensityMultiplier(F32 val) - { - setValue(SETTING_DENSITY_MULTIPLIER, val); - } - - F32 getDistanceMultiplier() const - { - return mSettings[SETTING_DISTANCE_MULTIPLIER].asReal(); - } - - void setDistanceMultiplier(F32 val) - { - setValue(SETTING_DISTANCE_MULTIPLIER, val); - } - + F32 getDomeOffset() const { return DOME_OFFSET; @@ -262,26 +288,6 @@ public: setValue(SETTING_GLOW, val); } - F32 getHazeDensity() const - { - return mSettings[SETTING_HAZE_DENSITY].asReal(); - } - - void setHazeDensity(F32 val) - { - setValue(SETTING_HAZE_DENSITY, val); - } - - F32 getHazeHorizon() const - { - return mSettings[SETTING_HAZE_HORIZON].asReal(); - } - - void setHazeHorizon(F32 val) - { - setValue(SETTING_HAZE_HORIZON, val); - } - LLVector3 getLightNormal() const { return LLVector3(mSettings[SETTING_LIGHT_NORMAL]); @@ -450,6 +456,10 @@ private: static validation_list_t absorptionValidationList(); static validation_list_t mieValidationList(); + static LLSD rayleighConfigDefault(); + static LLSD absorptionConfigDefault(); + static LLSD mieConfigDefault(); + static const F32 NIGHTTIME_ELEVATION; static const F32 NIGHTTIME_ELEVATION_COS; diff --git a/indra/newview/app_settings/shaders/class3/windlight/advancedAtmoF.glsl b/indra/newview/app_settings/shaders/class3/windlight/advancedAtmoF.glsl index c71eaf4b13..d27363a60c 100644 --- a/indra/newview/app_settings/shaders/class3/windlight/advancedAtmoF.glsl +++ b/indra/newview/app_settings/shaders/class3/windlight/advancedAtmoF.glsl @@ -33,9 +33,7 @@ in vec3 view_dir; uniform vec3 cameraPosLocal; uniform vec3 sun_direction; -uniform vec2 sun_size; -uniform sampler2D cloud_noise_texture; uniform sampler2D transmittance_texture; uniform sampler3D scattering_texture; uniform sampler3D mie_scattering_texture; diff --git a/indra/newview/app_settings/shaders/class3/windlight/skyF.glsl b/indra/newview/app_settings/shaders/class3/windlight/skyF.glsl index e2a2367626..c71eaf4b13 100644 --- a/indra/newview/app_settings/shaders/class3/windlight/skyF.glsl +++ b/indra/newview/app_settings/shaders/class3/windlight/skyF.glsl @@ -1,5 +1,5 @@ /** - * @file WLSkyF.glsl + * @file advancedAtmoF.glsl * * $LicenseInfo:firstyear=2005&license=viewerlgpl$ * Second Life Viewer Source Code @@ -29,37 +29,43 @@ out vec4 frag_color; #define frag_color gl_FragColor #endif -///////////////////////////////////////////////////////////////////////// -// The fragment shader for the sky -///////////////////////////////////////////////////////////////////////// +in vec3 view_dir; -VARYING vec4 vary_HazeColor; +uniform vec3 cameraPosLocal; +uniform vec3 sun_direction; +uniform vec2 sun_size; uniform sampler2D cloud_noise_texture; -uniform vec4 gamma; +uniform sampler2D transmittance_texture; +uniform sampler3D scattering_texture; +uniform sampler3D mie_scattering_texture; -/// Soft clips the light with a gamma correction -vec3 scaleSoftClip(vec3 light) { - //soft clip effect: - light = 1. - clamp(light, vec3(0.), vec3(1.)); - light = 1. - pow(light, gamma.xxx); - - return light; -} +vec3 GetSolarLuminance(); +vec3 GetSkyLuminance(vec3 camPos, vec3 view_dir, float shadow_length, vec3 sun_dir, out vec3 transmittance); +vec3 GetSkyLuminanceToPoint(vec3 camPos, vec3 pos, float shadow_length, vec3 sun_dir, out vec3 transmittance); +vec3 GetSunAndSkyIlluminance(vec3 pos, vec3 norm, vec3 sun_dir, out vec3 sky_irradiance); void main() { - // Potential Fill-rate optimization. Add cloud calculation - // back in and output alpha of 0 (so that alpha culling kills - // the fragment) if the sky wouldn't show up because the clouds - // are fully opaque. + vec3 view_direction = normalize(view_dir); + + vec3 camPos = cameraPosLocal; + vec3 transmittance; + vec3 radiance = GetSkyLuminance(camPos, view_direction, 0.0f, sun_direction, transmittance); - vec4 color; - color = vary_HazeColor; - color *= 2.; + radiance *= transmittance; - /// Gamma correct for WL (soft clip effect). - frag_color.rgb = scaleSoftClip(color.rgb); - frag_color.a = 1.0; + // If the view ray intersects the Sun, add the Sun radiance. + if (dot(view_direction, sun_direction) >= sun_size.y) + { + radiance = radiance + transmittance * GetSolarLuminance(); + } + + vec3 color = vec3(1.0) - exp(-radiance); + color = pow(color, vec3(1.0 / 2.2)); + + frag_color.rgb = color; + + frag_color.a = 1.0; } diff --git a/indra/newview/app_settings/shaders/class3/windlight/skyV.glsl b/indra/newview/app_settings/shaders/class3/windlight/skyV.glsl index 3788ddaf2d..52a7595379 100644 --- a/indra/newview/app_settings/shaders/class3/windlight/skyV.glsl +++ b/indra/newview/app_settings/shaders/class3/windlight/skyV.glsl @@ -1,5 +1,5 @@ /** - * @file WLSkyV.glsl + * @file advancedAtmoV.glsl * * $LicenseInfo:firstyear=2005&license=viewerlgpl$ * Second Life Viewer Source Code @@ -27,130 +27,17 @@ uniform mat4 modelview_projection_matrix; ATTRIBUTE vec3 position; -// SKY //////////////////////////////////////////////////////////////////////// -// The vertex shader for creating the atmospheric sky -/////////////////////////////////////////////////////////////////////////////// - -// Output parameters -VARYING vec4 vary_HazeColor; - // Inputs uniform vec3 camPosLocal; -uniform vec4 lightnorm; -uniform vec4 sunlight_color; -uniform vec4 ambient; -uniform vec4 blue_horizon; -uniform vec4 blue_density; -uniform float haze_horizon; -uniform float haze_density; - -uniform float cloud_shadow; -uniform float density_multiplier; -uniform float max_y; - -uniform vec4 glow; - -uniform vec4 cloud_color; +out vec3 view_dir; void main() { - // World / view / projection gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); - // Get relative position - vec3 P = position.xyz - camPosLocal.xyz + vec3(0,50,0); - //vec3 P = position.xyz + vec3(0,50,0); - - // Set altitude - if (P.y > 0.) - { - P *= (max_y / P.y); - } - else - { - P *= (-32000. / P.y); - } - - // Can normalize then - vec3 Pn = normalize(P); - float Plen = length(P); - - // Initialize temp variables - vec4 temp1 = vec4(0.); - vec4 temp2 = vec4(0.); - vec4 blue_weight; - vec4 haze_weight; - vec4 sunlight = sunlight_color; - vec4 light_atten; - - // Sunlight attenuation effect (hue and brightness) due to atmosphere - // this is used later for sunlight modulation at various altitudes - light_atten = (blue_density + vec4(haze_density * 0.25)) * (density_multiplier * max_y); - - // Calculate relative weights - temp1 = blue_density + haze_density; - blue_weight = blue_density / temp1; - haze_weight = haze_density / temp1; - - // Compute sunlight from P & lightnorm (for long rays like sky) - temp2.y = max(0., max(0., Pn.y) * 1.0 + lightnorm.y ); - temp2.y = 1. / temp2.y; - sunlight *= exp( - light_atten * temp2.y); - - // Distance - temp2.z = Plen * density_multiplier; - - // Transparency (-> temp1) - // ATI Bugfix -- can't store temp1*temp2.z in a variable because the ati - // compiler gets confused. - temp1 = exp(-temp1 * temp2.z); - - - // Compute haze glow - temp2.x = dot(Pn, lightnorm.xyz); - temp2.x = 1. - temp2.x; - // temp2.x is 0 at the sun and increases away from sun - temp2.x = max(temp2.x, .001); - // Set a minimum "angle" (smaller glow.y allows tighter, brighter hotspot) - temp2.x *= glow.x; - // Higher glow.x gives dimmer glow (because next step is 1 / "angle") - temp2.x = pow(temp2.x, glow.z); - // glow.z should be negative, so we're doing a sort of (1 / "angle") function - - // Add "minimum anti-solar illumination" - temp2.x += .25; - - - // Haze color above cloud - vary_HazeColor = ( blue_horizon * blue_weight * (sunlight + ambient) - + (haze_horizon * haze_weight) * (sunlight * temp2.x + ambient) - ); - - - // Increase ambient when there are more clouds - vec4 tmpAmbient = ambient; - tmpAmbient += (1. - tmpAmbient) * cloud_shadow * 0.5; - - // Dim sunlight by cloud shadow percentage - sunlight *= (1. - cloud_shadow); - - // Haze color below cloud - vec4 additiveColorBelowCloud = ( blue_horizon * blue_weight * (sunlight + tmpAmbient) - + (haze_horizon * haze_weight) * (sunlight * temp2.x + tmpAmbient) - ); - - // Final atmosphere additive - vary_HazeColor *= (1. - temp1); - - // Attenuate cloud color by atmosphere - temp1 = sqrt(temp1); //less atmos opacity (more transparency) below clouds - - // At horizon, blend high altitude sky color towards the darker color below the clouds - vary_HazeColor += (additiveColorBelowCloud - vary_HazeColor) * (1. - sqrt(temp1)); - - // won't compile on mac without this being set - //vary_AtmosAttenuation = vec3(0.0,0.0,0.0); + // this will be normalized in the frag shader... + view_dir = position.xyz - camPosLocal.xyz; } diff --git a/indra/newview/app_settings/windlight/skies/A%2D12AM.xml b/indra/newview/app_settings/windlight/skies/A%2D12AM.xml index 0aba31214a..93ef76d73c 100644 --- a/indra/newview/app_settings/windlight/skies/A%2D12AM.xml +++ b/indra/newview/app_settings/windlight/skies/A%2D12AM.xml @@ -137,5 +137,61 @@ <real>0.65999996662139893</real> <real>0.2199999988079071</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/A%2D12PM.xml b/indra/newview/app_settings/windlight/skies/A%2D12PM.xml index 119b3e1418..87b2f09e30 100644 --- a/indra/newview/app_settings/windlight/skies/A%2D12PM.xml +++ b/indra/newview/app_settings/windlight/skies/A%2D12PM.xml @@ -137,5 +137,61 @@ <real>0.89999997615814209</real> <real>0.29999998211860657</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/A%2D3AM.xml b/indra/newview/app_settings/windlight/skies/A%2D3AM.xml index f790d3d961..cf1ce5faf2 100644 --- a/indra/newview/app_settings/windlight/skies/A%2D3AM.xml +++ b/indra/newview/app_settings/windlight/skies/A%2D3AM.xml @@ -137,5 +137,61 @@ <real>1.1399999856948853</real> <real>0.37999999523162842</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/A%2D3PM.xml b/indra/newview/app_settings/windlight/skies/A%2D3PM.xml index ec9706773e..3d94ea0d38 100644 --- a/indra/newview/app_settings/windlight/skies/A%2D3PM.xml +++ b/indra/newview/app_settings/windlight/skies/A%2D3PM.xml @@ -137,5 +137,61 @@ <real>0.89999997615813498</real> <real>0.29999998211860301</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/A%2D6AM.xml b/indra/newview/app_settings/windlight/skies/A%2D6AM.xml index bbc7aeec59..3932f67f29 100644 --- a/indra/newview/app_settings/windlight/skies/A%2D6AM.xml +++ b/indra/newview/app_settings/windlight/skies/A%2D6AM.xml @@ -137,5 +137,61 @@ <real>2.369999885559082</real> <real>0.78999996185302734</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/A%2D6PM.xml b/indra/newview/app_settings/windlight/skies/A%2D6PM.xml index ebf08e1a3f..a597a1245a 100644 --- a/indra/newview/app_settings/windlight/skies/A%2D6PM.xml +++ b/indra/newview/app_settings/windlight/skies/A%2D6PM.xml @@ -137,6 +137,62 @@ <real>2.8385701179504395</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/A%2D9AM.xml b/indra/newview/app_settings/windlight/skies/A%2D9AM.xml index 413e3a27d9..76f08de1b5 100644 --- a/indra/newview/app_settings/windlight/skies/A%2D9AM.xml +++ b/indra/newview/app_settings/windlight/skies/A%2D9AM.xml @@ -137,5 +137,61 @@ <real>0.89999995470046912</real> <real>0.29999997496605069</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/A%2D9PM.xml b/indra/newview/app_settings/windlight/skies/A%2D9PM.xml index 292f6713b7..771bb564a4 100644 --- a/indra/newview/app_settings/windlight/skies/A%2D9PM.xml +++ b/indra/newview/app_settings/windlight/skies/A%2D9PM.xml @@ -137,5 +137,61 @@ <real>0.66003586768772493</real> <real>0.22001197576412324</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Barcelona.xml b/indra/newview/app_settings/windlight/skies/Barcelona.xml index ea9cab8fbb..4cc92e9005 100644 --- a/indra/newview/app_settings/windlight/skies/Barcelona.xml +++ b/indra/newview/app_settings/windlight/skies/Barcelona.xml @@ -137,5 +137,61 @@ <real>1.1699999570846558</real> <real>0.38999998569488525</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Blizzard.xml b/indra/newview/app_settings/windlight/skies/Blizzard.xml index d17d2790a8..84a923d008 100644 --- a/indra/newview/app_settings/windlight/skies/Blizzard.xml +++ b/indra/newview/app_settings/windlight/skies/Blizzard.xml @@ -137,5 +137,61 @@ <real>3</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Blue%20Midday.xml b/indra/newview/app_settings/windlight/skies/Blue%20Midday.xml index 570f059961..8cb31d879a 100644 --- a/indra/newview/app_settings/windlight/skies/Blue%20Midday.xml +++ b/indra/newview/app_settings/windlight/skies/Blue%20Midday.xml @@ -137,5 +137,61 @@ <real>1.2300000190734863</real> <real>0.40999999642372131</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Coastal%20Afternoon.xml b/indra/newview/app_settings/windlight/skies/Coastal%20Afternoon.xml index 4925b29eea..17f5a60209 100644 --- a/indra/newview/app_settings/windlight/skies/Coastal%20Afternoon.xml +++ b/indra/newview/app_settings/windlight/skies/Coastal%20Afternoon.xml @@ -137,5 +137,61 @@ <real>3</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Coastal%20Sunset.xml b/indra/newview/app_settings/windlight/skies/Coastal%20Sunset.xml index f4736cf4c6..4f80a3366c 100644 --- a/indra/newview/app_settings/windlight/skies/Coastal%20Sunset.xml +++ b/indra/newview/app_settings/windlight/skies/Coastal%20Sunset.xml @@ -137,5 +137,61 @@ <real>3</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Default.xml b/indra/newview/app_settings/windlight/skies/Default.xml index 13a2c75046..381c7fb49d 100644 --- a/indra/newview/app_settings/windlight/skies/Default.xml +++ b/indra/newview/app_settings/windlight/skies/Default.xml @@ -137,5 +137,61 @@ <real>0.89999997615814209</real> <real>0.29999998211860657</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Desert%20Sunset.xml b/indra/newview/app_settings/windlight/skies/Desert%20Sunset.xml index b2a611163d..39d84a5ced 100644 --- a/indra/newview/app_settings/windlight/skies/Desert%20Sunset.xml +++ b/indra/newview/app_settings/windlight/skies/Desert%20Sunset.xml @@ -137,5 +137,61 @@ <real>2.8385701179504395</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Fine%20Day.xml b/indra/newview/app_settings/windlight/skies/Fine%20Day.xml index e053815be1..b15e7c6236 100644 --- a/indra/newview/app_settings/windlight/skies/Fine%20Day.xml +++ b/indra/newview/app_settings/windlight/skies/Fine%20Day.xml @@ -137,5 +137,61 @@ <real>0.59999996423721313</real> <real>2.25</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Fluffy%20Big%20Clouds.xml b/indra/newview/app_settings/windlight/skies/Fluffy%20Big%20Clouds.xml index 8576ec125c..95dd872736 100644 --- a/indra/newview/app_settings/windlight/skies/Fluffy%20Big%20Clouds.xml +++ b/indra/newview/app_settings/windlight/skies/Fluffy%20Big%20Clouds.xml @@ -137,5 +137,61 @@ <real>1.0199999809265137</real> <real>1.7999999523162842</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Foggy.xml b/indra/newview/app_settings/windlight/skies/Foggy.xml index cb7395d589..313c922a4e 100644 --- a/indra/newview/app_settings/windlight/skies/Foggy.xml +++ b/indra/newview/app_settings/windlight/skies/Foggy.xml @@ -137,5 +137,61 @@ <real>0.53999996185302734</real> <real>0.17999999225139618</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Funky%20Funky%20Funky.xml b/indra/newview/app_settings/windlight/skies/Funky%20Funky%20Funky.xml index 32be0d25e6..f627575d31 100644 --- a/indra/newview/app_settings/windlight/skies/Funky%20Funky%20Funky.xml +++ b/indra/newview/app_settings/windlight/skies/Funky%20Funky%20Funky.xml @@ -137,5 +137,61 @@ <real>2.8385701179504395</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Funky%20Funky.xml b/indra/newview/app_settings/windlight/skies/Funky%20Funky.xml index ae16b2d135..245fec5999 100644 --- a/indra/newview/app_settings/windlight/skies/Funky%20Funky.xml +++ b/indra/newview/app_settings/windlight/skies/Funky%20Funky.xml @@ -137,5 +137,61 @@ <real>2.2200000286102295</real> <real>0.74000000953674316</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Gelatto.xml b/indra/newview/app_settings/windlight/skies/Gelatto.xml index 66b3d317b8..69f758d4f5 100644 --- a/indra/newview/app_settings/windlight/skies/Gelatto.xml +++ b/indra/newview/app_settings/windlight/skies/Gelatto.xml @@ -137,5 +137,61 @@ <real>0.37800011038780212</real> <real>0.80999994277954102</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Ghost.xml b/indra/newview/app_settings/windlight/skies/Ghost.xml index 447202ed51..2707cae7f9 100644 --- a/indra/newview/app_settings/windlight/skies/Ghost.xml +++ b/indra/newview/app_settings/windlight/skies/Ghost.xml @@ -137,5 +137,61 @@ <real>0.33000001311302185</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Incongruent%20Truths.xml b/indra/newview/app_settings/windlight/skies/Incongruent%20Truths.xml index 098844e16e..d5f2305e84 100644 --- a/indra/newview/app_settings/windlight/skies/Incongruent%20Truths.xml +++ b/indra/newview/app_settings/windlight/skies/Incongruent%20Truths.xml @@ -137,5 +137,61 @@ <real>1.170000433921814</real> <real>0.75</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Midday%201.xml b/indra/newview/app_settings/windlight/skies/Midday%201.xml index 13a2c75046..381c7fb49d 100644 --- a/indra/newview/app_settings/windlight/skies/Midday%201.xml +++ b/indra/newview/app_settings/windlight/skies/Midday%201.xml @@ -137,5 +137,61 @@ <real>0.89999997615814209</real> <real>0.29999998211860657</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Midday%202.xml b/indra/newview/app_settings/windlight/skies/Midday%202.xml index 04f2ba85ee..91d70c2228 100644 --- a/indra/newview/app_settings/windlight/skies/Midday%202.xml +++ b/indra/newview/app_settings/windlight/skies/Midday%202.xml @@ -137,5 +137,61 @@ <real>0.80999994277954102</real> <real>0.26999998092651367</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Midday%203.xml b/indra/newview/app_settings/windlight/skies/Midday%203.xml index a23dcab60b..816a4da670 100644 --- a/indra/newview/app_settings/windlight/skies/Midday%203.xml +++ b/indra/newview/app_settings/windlight/skies/Midday%203.xml @@ -137,5 +137,61 @@ <real>1.2599999904632568</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Midday%204.xml b/indra/newview/app_settings/windlight/skies/Midday%204.xml index 255e314e0f..df64ed371c 100644 --- a/indra/newview/app_settings/windlight/skies/Midday%204.xml +++ b/indra/newview/app_settings/windlight/skies/Midday%204.xml @@ -137,5 +137,61 @@ <real>1.2599999904632568</real> <real>0.41999998688697815</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Midday.xml b/indra/newview/app_settings/windlight/skies/Midday.xml index 119b3e1418..87b2f09e30 100644 --- a/indra/newview/app_settings/windlight/skies/Midday.xml +++ b/indra/newview/app_settings/windlight/skies/Midday.xml @@ -137,5 +137,61 @@ <real>0.89999997615814209</real> <real>0.29999998211860657</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Midnight.xml b/indra/newview/app_settings/windlight/skies/Midnight.xml index 0aba31214a..00cfc64420 100644 --- a/indra/newview/app_settings/windlight/skies/Midnight.xml +++ b/indra/newview/app_settings/windlight/skies/Midnight.xml @@ -137,5 +137,61 @@ <real>0.65999996662139893</real> <real>0.2199999988079071</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Night.xml b/indra/newview/app_settings/windlight/skies/Night.xml index c4938949ce..c56177e821 100644 --- a/indra/newview/app_settings/windlight/skies/Night.xml +++ b/indra/newview/app_settings/windlight/skies/Night.xml @@ -137,5 +137,61 @@ <real>0.65999994893325931</real> <real>0.22000000284673543</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Pirate.xml b/indra/newview/app_settings/windlight/skies/Pirate.xml index dcb9c27ba4..1f5c18dd65 100644 --- a/indra/newview/app_settings/windlight/skies/Pirate.xml +++ b/indra/newview/app_settings/windlight/skies/Pirate.xml @@ -137,5 +137,61 @@ <real>2.8385701179504395</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Purple.xml b/indra/newview/app_settings/windlight/skies/Purple.xml index 0e9ac3f36e..3d937660ad 100644 --- a/indra/newview/app_settings/windlight/skies/Purple.xml +++ b/indra/newview/app_settings/windlight/skies/Purple.xml @@ -137,5 +137,61 @@ <real>2.8385701179504395</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Sailor%27s%20Delight.xml b/indra/newview/app_settings/windlight/skies/Sailor%27s%20Delight.xml index 70df6b0e60..b3a631f482 100644 --- a/indra/newview/app_settings/windlight/skies/Sailor%27s%20Delight.xml +++ b/indra/newview/app_settings/windlight/skies/Sailor%27s%20Delight.xml @@ -137,5 +137,61 @@ <real>1.0777359008789062</real> <real>0.56000000238418579</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Sheer%20Surreality.xml b/indra/newview/app_settings/windlight/skies/Sheer%20Surreality.xml index 4c44a1bdb2..252ba58a9a 100644 --- a/indra/newview/app_settings/windlight/skies/Sheer%20Surreality.xml +++ b/indra/newview/app_settings/windlight/skies/Sheer%20Surreality.xml @@ -137,5 +137,61 @@ <real>0.53999996185302734</real> <real>1.5899999141693115</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Sunrise.xml b/indra/newview/app_settings/windlight/skies/Sunrise.xml index bbc7aeec59..3932f67f29 100644 --- a/indra/newview/app_settings/windlight/skies/Sunrise.xml +++ b/indra/newview/app_settings/windlight/skies/Sunrise.xml @@ -137,5 +137,61 @@ <real>2.369999885559082</real> <real>0.78999996185302734</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/app_settings/windlight/skies/Sunset.xml b/indra/newview/app_settings/windlight/skies/Sunset.xml index ebf08e1a3f..a597a1245a 100644 --- a/indra/newview/app_settings/windlight/skies/Sunset.xml +++ b/indra/newview/app_settings/windlight/skies/Sunset.xml @@ -137,6 +137,62 @@ <real>2.8385701179504395</real> <real>1</real> </array> + <key>planet_radius</key> + <real>6360.0</real> + <key>sky_min_radius</key> + <real>6360.0</real> + <key>sky_max_radius</key> + <real>6420.0</real> + <key>rayleigh_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>absorption_config</key> + <map> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> + <key>mie_config</key> + <map> + <key>anisotropy</key> + <real>0.5f</real> + <key>density</key> + <map> + <key>width</key> + <real>0.0</real> + <key>exp_term</key> + <real>1.0</real> + <key>exp_scale</key> + <real>-0.00001</real> + <key>linear_term</key> + <real>0.0</real> + <key>constant_term</key> + <real>1.0</real> + </map> + </map> </map> </llsd> diff --git a/indra/newview/llenvadapters.cpp b/indra/newview/llenvadapters.cpp index 34fd862655..85da9e853d 100644 --- a/indra/newview/llenvadapters.cpp +++ b/indra/newview/llenvadapters.cpp @@ -33,23 +33,28 @@ LLSkySettingsAdapter::LLSkySettingsAdapter(): mWLGamma(1.0f, LLSettingsSky::SETTING_GAMMA), + +#if SUPPORT_LEGACY_ATMOSPHERICS + mAmbient(LLColor4(0.5f, 0.75f, 1.0f, 1.19f), LLSettingsSky::SETTING_AMBIENT, "WLAmbient"), mBlueHorizon(LLColor4(0.25f, 0.25f, 1.0f, 1.0f), LLSettingsSky::SETTING_BLUE_HORIZON, "WLBlueHorizon"), - mHazeDensity(1.0f, LLSettingsSky::SETTING_HAZE_DENSITY), mBlueDensity(LLColor4(0.25f, 0.25f, 0.25f, 1.0f), LLSettingsSky::SETTING_BLUE_DENSITY, "WLBlueDensity"), + mHazeDensity(1.0f, LLSettingsSky::SETTING_HAZE_DENSITY), + mHazeHorizon(1.0f, LLSettingsSky::SETTING_HAZE_HORIZON), mDensityMult(1.0f, LLSettingsSky::SETTING_DENSITY_MULTIPLIER, 1000), - mHazeHorizon(1.0f, LLSettingsSky::SETTING_HAZE_HORIZON), + mDistanceMult(1.0f, LLSettingsSky::SETTING_DISTANCE_MULTIPLIER), mMaxAlt(4000.0f, LLSettingsSky::SETTING_MAX_Y), +#endif + // Lighting mLightnorm(LLColor4(0.f, 0.707f, -0.707f, 1.f), LLSettingsSky::SETTING_LIGHT_NORMAL), mSunlight(LLColor4(0.5f, 0.5f, 0.5f, 1.0f), LLSettingsSky::SETTING_SUNLIGHT_COLOR, "WLSunlight"), - mAmbient(LLColor4(0.5f, 0.75f, 1.0f, 1.19f), LLSettingsSky::SETTING_AMBIENT, "WLAmbient"), + mGlow(LLColor4(18.0f, 0.0f, -0.01f, 1.0f), LLSettingsSky::SETTING_GLOW), // Clouds mCloudColor(LLColor4(0.5f, 0.5f, 0.5f, 1.0f), LLSettingsSky::SETTING_CLOUD_COLOR, "WLCloudColor"), mCloudMain(LLColor4(0.5f, 0.5f, 0.125f, 1.0f), LLSettingsSky::SETTING_CLOUD_POS_DENSITY1), mCloudCoverage(0.0f, LLSettingsSky::SETTING_CLOUD_SHADOW), - mCloudDetail(LLColor4(0.0f, 0.0f, 0.0f, 1.0f), LLSettingsSky::SETTING_CLOUD_POS_DENSITY2), - mDistanceMult(1.0f, LLSettingsSky::SETTING_DISTANCE_MULTIPLIER), + mCloudDetail(LLColor4(0.0f, 0.0f, 0.0f, 1.0f), LLSettingsSky::SETTING_CLOUD_POS_DENSITY2), mCloudScale(0.42f, LLSettingsSky::SETTING_CLOUD_SCALE) { diff --git a/indra/newview/llenvadapters.h b/indra/newview/llenvadapters.h index 8b93bbbe9f..c48311863e 100644 --- a/indra/newview/llenvadapters.h +++ b/indra/newview/llenvadapters.h @@ -31,6 +31,7 @@ #include "v3color.h" #include "v4math.h" #include "llsettingsbase.h" +#include "llsettingssky.h" class WLColorControl { @@ -364,25 +365,27 @@ public: WLFloatControl mWLGamma; /// Atmospherics +#if SUPPORT_LEGACY_ATMOSPHERICS + WLColorControl mAmbient; WLColorControl mBlueHorizon; WLFloatControl mHazeDensity; WLColorControl mBlueDensity; WLFloatControl mDensityMult; + WLFloatControl mDistanceMult; WLFloatControl mHazeHorizon; WLFloatControl mMaxAlt; +#endif /// Lighting WLColorControl mLightnorm; - WLColorControl mSunlight; - WLColorControl mAmbient; + WLColorControl mSunlight; WLColorControl mGlow; /// Clouds WLColorControl mCloudColor; WLColorControl mCloudMain; WLFloatControl mCloudCoverage; - WLColorControl mCloudDetail; - WLFloatControl mDistanceMult; + WLColorControl mCloudDetail; WLFloatControl mCloudScale; }; diff --git a/indra/newview/llfloatereditsky.cpp b/indra/newview/llfloatereditsky.cpp index 1574e73caa..c2b7bb17da 100644 --- a/indra/newview/llfloatereditsky.cpp +++ b/indra/newview/llfloatereditsky.cpp @@ -152,20 +152,21 @@ void LLFloaterEditSky::initCallbacks(void) LLRegionInfoModel::instance().setUpdateCallback(boost::bind(&LLFloaterEditSky::onRegionInfoUpdate, this)); //------------------------------------------------------------------------- +#if SUPPORT_LEGACY_ATMOSPHERICS + // ambient + getChild<LLUICtrl>("WLAmbient")->setCommitCallback(boost::bind(&LLFloaterEditSky::onColorControlMoved, this, _1, &mSkyAdapter->mAmbient)); - // blue horizon + // blue horizon/density getChild<LLUICtrl>("WLBlueHorizon")->setCommitCallback(boost::bind(&LLFloaterEditSky::onColorControlMoved, this, _1, &mSkyAdapter->mBlueHorizon)); + getChild<LLUICtrl>("WLBlueDensity")->setCommitCallback(boost::bind(&LLFloaterEditSky::onColorControlMoved, this, _1, &mSkyAdapter->mBlueDensity)); // haze density, horizon, mult, and altitude getChild<LLUICtrl>("WLHazeDensity")->setCommitCallback(boost::bind(&LLFloaterEditSky::onFloatControlMoved, this, _1, &mSkyAdapter->mHazeDensity)); getChild<LLUICtrl>("WLHazeHorizon")->setCommitCallback(boost::bind(&LLFloaterEditSky::onFloatControlMoved, this, _1, &mSkyAdapter->mHazeHorizon)); getChild<LLUICtrl>("WLDensityMult")->setCommitCallback(boost::bind(&LLFloaterEditSky::onFloatControlMoved, this, _1, &mSkyAdapter->mDensityMult)); + getChild<LLUICtrl>("WLDistanceMult")->setCommitCallback(boost::bind(&LLFloaterEditSky::onFloatControlMoved, this, _1, &mSkyAdapter->mDistanceMult)); getChild<LLUICtrl>("WLMaxAltitude")->setCommitCallback(boost::bind(&LLFloaterEditSky::onFloatControlMoved, this, _1, &mSkyAdapter->mMaxAlt)); - - // blue density - getChild<LLUICtrl>("WLBlueDensity")->setCommitCallback(boost::bind(&LLFloaterEditSky::onColorControlMoved, this, _1, &mSkyAdapter->mBlueDensity)); - - // Lighting +#endif // sunlight getChild<LLUICtrl>("WLSunlight")->setCommitCallback(boost::bind(&LLFloaterEditSky::onColorControlMoved, this, _1, &mSkyAdapter->mSunlight)); @@ -174,9 +175,6 @@ void LLFloaterEditSky::initCallbacks(void) getChild<LLUICtrl>("WLGlowR")->setCommitCallback(boost::bind(&LLFloaterEditSky::onGlowRMoved, this, _1, &mSkyAdapter->mGlow)); getChild<LLUICtrl>("WLGlowB")->setCommitCallback(boost::bind(&LLFloaterEditSky::onGlowBMoved, this, _1, &mSkyAdapter->mGlow)); - // ambient - getChild<LLUICtrl>("WLAmbient")->setCommitCallback(boost::bind(&LLFloaterEditSky::onColorControlMoved, this, _1, &mSkyAdapter->mAmbient)); - // time of day // getChild<LLUICtrl>("WLSunPos")->setCommitCallback(boost::bind(&LLFloaterEditSky::onSunMoved, this, _1, &mSkyAdapter->mLightnorm)); // multi-slider // getChild<LLTimeCtrl>("WLDayTime")->setCommitCallback(boost::bind(&LLFloaterEditSky::onTimeChanged, this)); // time ctrl @@ -204,7 +202,7 @@ void LLFloaterEditSky::initCallbacks(void) getChild<LLUICtrl>("WLCloudScale")->setCommitCallback(boost::bind(&LLFloaterEditSky::onFloatControlMoved, this, _1, &mSkyAdapter->mCloudScale)); getChild<LLUICtrl>("WLCloudScrollX")->setCommitCallback(boost::bind(&LLFloaterEditSky::onCloudScrollXMoved, this, _1)); getChild<LLUICtrl>("WLCloudScrollY")->setCommitCallback(boost::bind(&LLFloaterEditSky::onCloudScrollYMoved, this, _1)); - getChild<LLUICtrl>("WLDistanceMult")->setCommitCallback(boost::bind(&LLFloaterEditSky::onFloatControlMoved, this, _1, &mSkyAdapter->mDistanceMult)); + // Dome getChild<LLUICtrl>("WLGamma")->setCommitCallback(boost::bind(&LLFloaterEditSky::onFloatControlMoved, this, _1, &mSkyAdapter->mWLGamma)); @@ -223,9 +221,16 @@ void LLFloaterEditSky::syncControls() mSkyPresetNameEditor->setText(name); mSkyPresetCombo->setValue(name); - // blue horizon +#if SUPPORT_LEGACY_ATMOSPHERICS + // ambient + mSkyAdapter->mAmbient.setColor3( psky->getAmbientColor() ); + setColorSwatch("WLAmbient", mSkyAdapter->mAmbient, WL_SUN_AMBIENT_SLIDER_SCALE); + + // blue horizon / density mSkyAdapter->mBlueHorizon.setColor3( psky->getBlueHorizon() ); setColorSwatch("WLBlueHorizon", mSkyAdapter->mBlueHorizon, WL_BLUE_HORIZON_DENSITY_SCALE); + mSkyAdapter->mBlueDensity.setColor3( psky->getBlueDensity() ); + setColorSwatch("WLBlueDensity", mSkyAdapter->mBlueDensity, WL_BLUE_HORIZON_DENSITY_SCALE); // haze density, horizon, mult, and altitude mSkyAdapter->mHazeDensity = psky->getHazeDensity(); @@ -235,11 +240,10 @@ void LLFloaterEditSky::syncControls() mSkyAdapter->mDensityMult = psky->getDensityMultiplier(); childSetValue("WLDensityMult", ((F32) mSkyAdapter->mDensityMult) * mSkyAdapter->mDensityMult.getMult()); mSkyAdapter->mMaxAlt = psky->getMaxY(); + mSkyAdapter->mDistanceMult = psky->getDistanceMultiplier(); + childSetValue("WLDistanceMult", (F32) mSkyAdapter->mDistanceMult); childSetValue("WLMaxAltitude", (F32) mSkyAdapter->mMaxAlt); - - // blue density - mSkyAdapter->mBlueDensity.setColor3( psky->getBlueDensity() ); - setColorSwatch("WLBlueDensity", mSkyAdapter->mBlueDensity, WL_BLUE_HORIZON_DENSITY_SCALE); +#endif // Lighting @@ -252,9 +256,7 @@ void LLFloaterEditSky::syncControls() childSetValue("WLGlowR", 2 - mSkyAdapter->mGlow.getRed() / 20.0f); childSetValue("WLGlowB", -mSkyAdapter->mGlow.getBlue() / 5.0f); - // ambient - mSkyAdapter->mAmbient.setColor3( psky->getAmbientColor() ); - setColorSwatch("WLAmbient", mSkyAdapter->mAmbient, WL_SUN_AMBIENT_SLIDER_SCALE); + // LLSettingsSky::azimalt_t azal = psky->getSunRotationAzAl(); // @@ -304,9 +306,6 @@ void LLFloaterEditSky::syncControls() childSetValue("WLCloudScrollX", scroll_rate[0] - 10.0f); childSetValue("WLCloudScrollY", scroll_rate[1] - 10.0f); - mSkyAdapter->mDistanceMult = psky->getDistanceMultiplier(); - childSetValue("WLDistanceMult", (F32) mSkyAdapter->mDistanceMult); - // Tweak extras mSkyAdapter->mWLGamma = psky->getGamma(); diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index db68b39f75..84930ee425 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -150,25 +150,27 @@ LLSD LLSettingsVOSky::convertToLegacy(const LLSettingsSky::ptr_t &psky) LLSD legacy(LLSD::emptyMap()); LLSD settings = psky->getSettings(); +// These will need to be inferred from new settings' density profiles +#if SUPPORT_LEGACY_ATMOSPHERICS legacy[SETTING_AMBIENT] = ensureArray4(settings[SETTING_AMBIENT], 1.0f); legacy[SETTING_BLUE_DENSITY] = ensureArray4(settings[SETTING_BLUE_DENSITY], 1.0); legacy[SETTING_BLUE_HORIZON] = ensureArray4(settings[SETTING_BLUE_HORIZON], 1.0); + legacy[SETTING_DENSITY_MULTIPLIER] = LLSDArray(settings[SETTING_DENSITY_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f); + legacy[SETTING_DISTANCE_MULTIPLIER] = LLSDArray(settings[SETTING_DISTANCE_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f); + legacy[SETTING_HAZE_DENSITY] = LLSDArray(settings[SETTING_HAZE_DENSITY])(0.0f)(0.0f)(1.0f); + legacy[SETTING_HAZE_HORIZON] = LLSDArray(settings[SETTING_HAZE_HORIZON])(0.0f)(0.0f)(1.0f); +#endif + legacy[SETTING_CLOUD_COLOR] = ensureArray4(settings[SETTING_CLOUD_COLOR], 1.0); legacy[SETTING_CLOUD_POS_DENSITY1] = ensureArray4(settings[SETTING_CLOUD_POS_DENSITY1], 1.0); legacy[SETTING_CLOUD_POS_DENSITY2] = ensureArray4(settings[SETTING_CLOUD_POS_DENSITY2], 1.0); - legacy[SETTING_CLOUD_SCALE] = LLSDArray(settings[SETTING_CLOUD_SCALE])(LLSD::Real(0.0))(LLSD::Real(0.0))(LLSD::Real(1.0)); - + legacy[SETTING_CLOUD_SCALE] = LLSDArray(settings[SETTING_CLOUD_SCALE])(LLSD::Real(0.0))(LLSD::Real(0.0))(LLSD::Real(1.0)); legacy[SETTING_CLOUD_SCROLL_RATE] = settings[SETTING_CLOUD_SCROLL_RATE]; legacy[SETTING_LEGACY_ENABLE_CLOUD_SCROLL] = LLSDArray(LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][0].asReal()))) - (LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][1].asReal()))); - - legacy[SETTING_CLOUD_SHADOW] = LLSDArray(settings[SETTING_CLOUD_SHADOW].asReal())(0.0f)(0.0f)(1.0f); - legacy[SETTING_DENSITY_MULTIPLIER] = LLSDArray(settings[SETTING_DENSITY_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f); - legacy[SETTING_DISTANCE_MULTIPLIER] = LLSDArray(settings[SETTING_DISTANCE_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f); + (LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][1].asReal()))); + legacy[SETTING_CLOUD_SHADOW] = LLSDArray(settings[SETTING_CLOUD_SHADOW].asReal())(0.0f)(0.0f)(1.0f); legacy[SETTING_GAMMA] = LLSDArray(settings[SETTING_GAMMA])(0.0f)(0.0f)(1.0f); legacy[SETTING_GLOW] = ensureArray4(settings[SETTING_GLOW], 1.0); - legacy[SETTING_HAZE_DENSITY] = LLSDArray(settings[SETTING_HAZE_DENSITY])(0.0f)(0.0f)(1.0f); - legacy[SETTING_HAZE_HORIZON] = LLSDArray(settings[SETTING_HAZE_HORIZON])(0.0f)(0.0f)(1.0f); legacy[SETTING_LIGHT_NORMAL] = ensureArray4(psky->getLightDirection().getValue(), 0.0f); legacy[SETTING_MAX_Y] = LLSDArray(settings[SETTING_MAX_Y])(0.0f)(0.0f)(1.0f); legacy[SETTING_STAR_BRIGHTNESS] = settings[SETTING_STAR_BRIGHTNESS]; @@ -218,21 +220,26 @@ LLSettingsSky::parammapping_t LLSettingsVOSky::getParameterMap() const if (param_map.empty()) { +#if SUPPORT_LEGACY_ATMOSPHERICS param_map[SETTING_AMBIENT] = LLShaderMgr::AMBIENT; param_map[SETTING_BLUE_DENSITY] = LLShaderMgr::BLUE_DENSITY; param_map[SETTING_BLUE_HORIZON] = LLShaderMgr::BLUE_HORIZON; - param_map[SETTING_CLOUD_COLOR] = LLShaderMgr::CLOUD_COLOR; + param_map[SETTING_HAZE_DENSITY] = LLShaderMgr::HAZE_DENSITY; + param_map[SETTING_HAZE_HORIZON] = LLShaderMgr::HAZE_HORIZON; + param_map[SETTING_DENSITY_MULTIPLIER] = LLShaderMgr::DENSITY_MULTIPLIER; + param_map[SETTING_DISTANCE_MULTIPLIER] = LLShaderMgr::DISTANCE_MULTIPLIER; +#endif + param_map[SETTING_CLOUD_COLOR] = LLShaderMgr::CLOUD_COLOR; param_map[SETTING_CLOUD_POS_DENSITY2] = LLShaderMgr::CLOUD_POS_DENSITY2; param_map[SETTING_CLOUD_SCALE] = LLShaderMgr::CLOUD_SCALE; - param_map[SETTING_CLOUD_SHADOW] = LLShaderMgr::CLOUD_SHADOW; - param_map[SETTING_DENSITY_MULTIPLIER] = LLShaderMgr::DENSITY_MULTIPLIER; - param_map[SETTING_DISTANCE_MULTIPLIER] = LLShaderMgr::DISTANCE_MULTIPLIER; - param_map[SETTING_GLOW] = LLShaderMgr::GLOW; - param_map[SETTING_HAZE_DENSITY] = LLShaderMgr::HAZE_DENSITY; - param_map[SETTING_HAZE_HORIZON] = LLShaderMgr::HAZE_HORIZON; + param_map[SETTING_CLOUD_SHADOW] = LLShaderMgr::CLOUD_SHADOW; + param_map[SETTING_GLOW] = LLShaderMgr::GLOW; param_map[SETTING_MAX_Y] = LLShaderMgr::MAX_Y; param_map[SETTING_SUNLIGHT_COLOR] = LLShaderMgr::SUNLIGHT_COLOR; + +// AdvancedAtmospherics TODO +// Provide mappings for new shader params here } return param_map; diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp index ad68408836..c1ba7b1efd 100644 --- a/indra/newview/llvosky.cpp +++ b/indra/newview/llvosky.cpp @@ -397,6 +397,7 @@ void LLVOSky::init() calcAtmospherics(); +#if SUPPORT_LEGACY_ATMOSPHERICS // Initialize the cached normalized direction vectors for (S32 side = 0; side < 6; ++side) { @@ -412,6 +413,7 @@ void LLVOSky::init() mSkyTex[i].create(1.0f); mShinyTex[i].create(1.0f); } +#endif initCubeMap(); mInitialized = true; @@ -494,6 +496,7 @@ void LLVOSky::restoreGL() } +#if SUPPORT_LEGACY_ATMOSPHERICS void LLVOSky::initSkyTextureDirs(const S32 side, const S32 tile) { S32 tile_x = tile % NUM_TILES_X; @@ -816,6 +819,7 @@ LLColor3 LLVOSky::calcSkyColorWLFrag(LLVector3 & Pn, LLColor3 & vary_HazeColor, return res; } + LLColor3 LLVOSky::createDiffuseFromWL(LLColor3 diffuse, LLColor3 ambient, LLColor3 sundiffuse, LLColor3 sunambient) { return componentMult(diffuse, sundiffuse) * 4.0f + @@ -826,7 +830,7 @@ LLColor3 LLVOSky::createAmbientFromWL(LLColor3 ambient, LLColor3 sundiffuse, LLC { return (componentMult(ambient, sundiffuse) + sunambient) * 0.8f; } - +#endif void LLVOSky::calcAtmospherics(void) { @@ -878,6 +882,7 @@ BOOL LLVOSky::updateSky() return TRUE; } +#if SUPPORT_LEGACY_ATMOSPHERICS static S32 next_frame = 0; const S32 total_no_tiles = 6 * NUM_TILES; const S32 cycle_frame_no = total_no_tiles + 1; @@ -927,6 +932,7 @@ BOOL LLVOSky::updateSky() if (mForceUpdate) { updateFog(LLViewerCamera::getInstance()->getFar()); + for (int side = 0; side < 6; side++) { for (int tile = 0; tile < NUM_TILES; tile++) @@ -995,6 +1001,8 @@ BOOL LLVOSky::updateSky() { gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_VOLUME, TRUE); } +#endif + return TRUE; } @@ -1856,6 +1864,8 @@ void LLVOSky::updateReflectionGeometry(LLDrawable *drawable, F32 H, void LLVOSky::updateFog(const F32 distance) { + +#if SUPPORT_LEGACY_ATMOSPHERICS if (!gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_FOG)) { if (!LLGLSLShader::sNoFixedFunction) @@ -2000,6 +2010,9 @@ void LLVOSky::updateFog(const F32 distance) glHint(GL_FOG_HINT, GL_NICEST); } stop_glerror(); + +#endif + } diff --git a/indra/newview/llvosky.h b/indra/newview/llvosky.h index 9123381c3d..4f6bc55bbe 100644 --- a/indra/newview/llvosky.h +++ b/indra/newview/llvosky.h @@ -34,7 +34,7 @@ #include "llviewerobject.h" #include "llframetimer.h" #include "v3colorutil.h" - +#include "llsettingssky.h" ////////////////////////////////// // @@ -382,6 +382,8 @@ class LLVOSky : public LLStaticViewerObject public: void calcAtmospherics(void); + +#if SUPPORT_LEGACY_ATMOSPHERICS LLColor3 createDiffuseFromWL(LLColor3 diffuse, LLColor3 ambient, LLColor3 sundiffuse, LLColor3 sunambient); LLColor3 createAmbientFromWL(LLColor3 ambient, LLColor3 sundiffuse, LLColor3 sunambient); @@ -392,8 +394,17 @@ public: LLColor3 calcSkyColorWLFrag(LLVector3 & Pn, LLColor3 & vary_HazeColor, LLColor3 & vary_CloudColorSun, LLColor3 & vary_CloudColorAmbient, F32 & vary_CloudDensity, LLVector2 vary_HorizontalProjection[2]); + LLColor4 calcSkyColorInDir(const LLVector3& dir, bool isShiny = false); + + LLColor3 calcRadianceAtPoint(const LLVector3& pos) const + { + F32 radiance = mBrightnessScaleGuess * mSun.getIntensity(); + return LLColor3(radiance, radiance, radiance); + } + void initSkyTextureDirs(const S32 side, const S32 tile); + void createSkyTexture(const S32 side, const S32 tile); +#endif -public: enum { FACE_SIDE0, @@ -429,17 +440,6 @@ public: /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline); /*virtual*/ BOOL updateGeometry(LLDrawable *drawable); - void initSkyTextureDirs(const S32 side, const S32 tile); - void createSkyTexture(const S32 side, const S32 tile); - - LLColor4 calcSkyColorInDir(const LLVector3& dir, bool isShiny = false); - - LLColor3 calcRadianceAtPoint(const LLVector3& pos) const - { - F32 radiance = mBrightnessScaleGuess * mSun.getIntensity(); - return LLColor3(radiance, radiance, radiance); - } - const LLHeavenBody& getSun() const { return mSun; } const LLHeavenBody& getMoon() const { return mMoon; } |