diff --git a/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl b/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl index 25d65b571..dd1c8ee64 100644 --- a/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl +++ b/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl @@ -32,7 +32,7 @@ vec4 applyWaterFog(vec4 color) float depth = length(getPositionEye() - int_v); //get "thickness" of water - float l = max(depth, 0.1); + float l = min(max(depth, 0.1),50.0); float kd = waterFogDensity; float ks = waterFogKS; diff --git a/indra/newview/llwaterparammanager.cpp b/indra/newview/llwaterparammanager.cpp index 6028f4d80..bf8956960 100644 --- a/indra/newview/llwaterparammanager.cpp +++ b/indra/newview/llwaterparammanager.cpp @@ -298,6 +298,11 @@ void LLWaterParamManager::update(LLViewerCamera * cam) mWaterPlane = LLVector4(enorm.v[0], enorm.v[1], enorm.v[2], -ep.dot(enorm)); + if((mWaterPlane.mV[3] >= 0.f) == LLViewerCamera::getInstance()->cameraUnderWater()) //Sign borkage.. + { + mWaterPlane.scaleVec(LLVector4(-1.f,-1.f,-1.f,-1.f)); + } + LLVector3 sunMoonDir; if (gSky.getSunDirection().mV[2] > LLSky::NIGHTTIME_ELEVATION_COS) {