From c320429f4138120a2a8dd0487052ee00a7ffd6a6 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Sun, 10 Jul 2011 19:38:43 -0500 Subject: [PATCH] Hack hackity hack... I mean fixed water-fog sign-error when cam approaches 0 z when using shaders. --- .../app_settings/shaders/class2/environment/waterFogF.glsl | 2 +- indra/newview/llwaterparammanager.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) 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) {