summaryrefslogtreecommitdiff
path: root/indra/newview/lldrawpoolsimple.cpp
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2013-07-21 14:28:54 -0700
committerGraham Linden <graham@lindenlab.com>2013-07-21 14:28:54 -0700
commitcaefe0e74cf553de41c6c8748dd2ea5ef4d82c06 (patch)
tree55cdae8ef9376823851babf5a654361cd6e4ff33 /indra/newview/lldrawpoolsimple.cpp
parent94abe75dea90ee91dd044161d8587279b0bfae13 (diff)
NORSPEC-311 fix alpha / opaque lighting diffs
Diffstat (limited to 'indra/newview/lldrawpoolsimple.cpp')
-rwxr-xr-xindra/newview/lldrawpoolsimple.cpp48
1 files changed, 36 insertions, 12 deletions
diff --git a/indra/newview/lldrawpoolsimple.cpp b/indra/newview/lldrawpoolsimple.cpp
index 87fbeaf2c0..d51b84cfbc 100755
--- a/indra/newview/lldrawpoolsimple.cpp
+++ b/indra/newview/lldrawpoolsimple.cpp
@@ -111,7 +111,14 @@ void LLDrawPoolGlow::render(S32 pass)
LLGLSLShader* shader = LLPipeline::sUnderWaterRender ? &gObjectEmissiveWaterProgram : &gObjectEmissiveProgram;
shader->bind();
- shader->uniform1f(LLShaderMgr::TEXTURE_GAMMA, 1.f);
+ if (LLPipeline::sRenderDeferred)
+ {
+ shader->uniform1f(LLShaderMgr::TEXTURE_GAMMA, 2.2f);
+ }
+ else
+ {
+ shader->uniform1f(LLShaderMgr::TEXTURE_GAMMA, 1.f);
+ }
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
gGL.setColorMask(false, true);
@@ -536,7 +543,15 @@ void LLDrawPoolFullbright::prerender()
void LLDrawPoolFullbright::beginPostDeferredPass(S32 pass)
{
- gDeferredFullbrightProgram.bind();
+ if (LLPipeline::sUnderWaterRender)
+ {
+ gDeferredFullbrightWaterProgram.bind();
+ }
+ else
+ {
+ gDeferredFullbrightProgram.bind();
+ }
+
}
void LLDrawPoolFullbright::renderPostDeferred(S32 pass)
@@ -550,7 +565,14 @@ void LLDrawPoolFullbright::renderPostDeferred(S32 pass)
void LLDrawPoolFullbright::endPostDeferredPass(S32 pass)
{
- gDeferredFullbrightProgram.unbind();
+ if (LLPipeline::sUnderWaterRender)
+ {
+ gDeferredFullbrightWaterProgram.unbind();
+ }
+ else
+ {
+ gDeferredFullbrightProgram.unbind();
+ }
LLRenderPass::endRenderPass(pass);
}
@@ -633,15 +655,17 @@ void LLDrawPoolFullbrightAlphaMask::beginPostDeferredPass(S32 pass)
}
else
{
-#if LL_DARWIN
- // the OS X 10.6.8 GeForce driver is a real POS
- // this is a work-around for NORSPEC-314
- gObjectFullbrightAlphaMaskProgram.bind();
- gObjectFullbrightAlphaMaskProgram.uniform1f(LLShaderMgr::TEXTURE_GAMMA, 2.2f);
-#else
- gDeferredFullbrightAlphaMaskProgram.bind();
- gDeferredFullbrightAlphaMaskProgram.uniform1f(LLShaderMgr::TEXTURE_GAMMA, 2.2f);
-#endif
+ if (LLPipeline::sUnderWaterRender)
+ {
+ gDeferredFullbrightAlphaMaskWaterProgram.bind();
+ gDeferredFullbrightAlphaMaskWaterProgram.uniform1f(LLShaderMgr::TEXTURE_GAMMA, 2.2f);
+ }
+ else
+ {
+ gDeferredFullbrightAlphaMaskProgram.bind();
+ gDeferredFullbrightAlphaMaskProgram.uniform1f(LLShaderMgr::TEXTURE_GAMMA, 2.2f);
+ }
+
}
}