summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorGraham Madarasz <graham@lindenlab.com>2013-05-20 17:35:16 -0700
committerGraham Madarasz <graham@lindenlab.com>2013-05-20 17:35:16 -0700
commit756c3d30eee4700c3edb1cb55c03bf5f51d648a7 (patch)
tree92163c1c7c8e2d0273f4a25fd91964713dedfca0 /indra/newview
parentc7a9a2fcc130117778fb2f10a91dcd1ab16d0804 (diff)
NORSPEC-191 make alpha masked rigged faces appear with deferred rendering on and off
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/llvovolume.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 0a25a57f1b..caf4fe9383 100755
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -4531,7 +4531,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
pool->addRiggedFace(facep, LLDrawPoolAvatar::RIGGED_GLOW);
}
- LLMaterial* mat = LLPipeline::sRenderDeferred ? te->getMaterialParams().get() : NULL;
+ LLMaterial* mat = te->getMaterialParams().get();
if (mat)
{
@@ -4550,6 +4550,13 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
pool->addRiggedFace(facep, LLDrawPoolAvatar::RIGGED_FULLBRIGHT);
}
}
+ else if (mat->getDiffuseAlphaMode() == LLMaterial::DIFFUSE_ALPHA_MODE_MASK)
+ {
+ // This feels unclean, but is the only way to get alpha masked rigged stuff to show up
+ // with masking correctly in both deferred and non-deferred paths. NORSPEC-191
+ //
+ pool->addRiggedFace(facep, LLPipeline::sRenderDeferred ? LLDrawPoolAvatar::RIGGED_MATERIAL_ALPHA_MASK : LLDrawPoolAvatar::RIGGED_ALPHA);
+ }
else
{
U32 mask = mat->getShaderMask();