summaryrefslogtreecommitdiff
path: root/indra/newview/lldrawpoolalpha.cpp
diff options
context:
space:
mode:
authorNyx (Neal Orman) <nyx@lindenlab.com>2011-05-17 12:13:54 -0400
committerNyx (Neal Orman) <nyx@lindenlab.com>2011-05-17 12:13:54 -0400
commit8f94ff85f9b0318f959f066a138eac03770838cf (patch)
tree7b2885af863ae16281f197c61bbedff4f2895e2c /indra/newview/lldrawpoolalpha.cpp
parent2deea74cf6f08376e14e2f7e5333fc6959d2af19 (diff)
parenta2d8f0cb3308fed1cb2c8d5fa8fb74ec4cefa45b (diff)
merging up latest mesh-development to nyx-mesh-development
Diffstat (limited to 'indra/newview/lldrawpoolalpha.cpp')
-rw-r--r--indra/newview/lldrawpoolalpha.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index a2a109d5ee..8b5a2ce781 100644
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -107,10 +107,14 @@ S32 LLDrawPoolAlpha::getNumPostDeferredPasses()
{ //skip depth buffer filling pass when rendering impostors
return 1;
}
- else
+ else if (gSavedSettings.getBOOL("RenderDepthOfField"))
{
return 2;
}
+ else
+ {
+ return 1;
+ }
}
void LLDrawPoolAlpha::beginPostDeferredPass(S32 pass)
@@ -210,7 +214,7 @@ void LLDrawPoolAlpha::render(S32 pass)
gGL.setColorMask(true, true);
}
- if (LLPipeline::sAutoMaskAlphaNonDeferred && !deferred_render)
+ if (LLPipeline::sAutoMaskAlphaNonDeferred)
{
mColorSFactor = LLRender::BF_ONE; // }
mColorDFactor = LLRender::BF_ZERO; // } these are like disabling blend on the color channels, but we're still blending on the alpha channel so that we can suppress glow
@@ -226,7 +230,10 @@ void LLDrawPoolAlpha::render(S32 pass)
simple_shader->bind();
pushBatches(LLRenderPass::PASS_ALPHA_MASK, getVertexDataMask());
}
- fullbright_shader->bind();
+ if (fullbright_shader)
+ {
+ fullbright_shader->bind();
+ }
pushBatches(LLRenderPass::PASS_FULLBRIGHT_ALPHA_MASK, getVertexDataMask());
LLGLSLShader::bindNoShader();
}
@@ -273,6 +280,7 @@ void LLDrawPoolAlpha::render(S32 pass)
if (deferred_render && pass == 1)
{
gGL.setAlphaRejectSettings(LLRender::CF_DEFAULT);
+ gGL.setSceneBlendType(LLRender::BT_ALPHA);
}
if (deferred_render && current_shader != NULL)