diff options
author | MaximB ProductEngine <mberezhnoy@productengine.com> | 2013-09-23 20:28:23 +0300 |
---|---|---|
committer | MaximB ProductEngine <mberezhnoy@productengine.com> | 2013-09-23 20:28:23 +0300 |
commit | 089081dc802a8efb41d3eda7b2eec6f9637f1c4b (patch) | |
tree | 6d08c1ef1cd3691ab225a0c281d002b9d2af62cb /indra/newview/lldrawpoolwater.cpp | |
parent | 3e934d5089abacbfb1c7bfbaff4a2d415587bfbb (diff) | |
parent | 3bfac42f07b1896bea3fd1ece762c56e3f1fc819 (diff) |
merge
Diffstat (limited to 'indra/newview/lldrawpoolwater.cpp')
-rwxr-xr-x | indra/newview/lldrawpoolwater.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp index 0d79631182..32a9365aba 100755 --- a/indra/newview/lldrawpoolwater.cpp +++ b/indra/newview/lldrawpoolwater.cpp @@ -522,14 +522,21 @@ void LLDrawPoolWater::shade() F32 eyedepth = LLViewerCamera::getInstance()->getOrigin().mV[2] - gAgent.getRegion()->getWaterHeight(); + if (eyedepth < 0.f && LLPipeline::sWaterReflections) + { if (deferred_render) { - shader = &gDeferredWaterProgram; + shader = &gDeferredUnderWaterProgram; } - else if (eyedepth < 0.f && LLPipeline::sWaterReflections) + else { shader = &gUnderWaterProgram; } + } + else if (deferred_render) + { + shader = &gDeferredWaterProgram; + } else { shader = &gWaterProgram; @@ -597,9 +604,15 @@ void LLDrawPoolWater::shade() shader->uniform4fv(LLShaderMgr::WATER_FOGCOLOR, 1, sWaterFogColor.mV); } + F32 screenRes[] = + { + 1.f/gGLViewport[2], + 1.f/gGLViewport[3] + }; + shader->uniform2fv(LLShaderMgr::DEFERRED_SCREEN_RES, 1, screenRes); stop_glerror(); - S32 diffTex = shader->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP); + S32 diffTex = shader->enableTexture(LLShaderMgr::DIFFUSE_MAP); stop_glerror(); light_dir.normVec(); |