diff options
author | Graham Madarasz <graham@lindenlab.com> | 2013-05-20 17:35:16 -0700 |
---|---|---|
committer | Graham Madarasz <graham@lindenlab.com> | 2013-05-20 17:35:16 -0700 |
commit | 756c3d30eee4700c3edb1cb55c03bf5f51d648a7 (patch) | |
tree | 92163c1c7c8e2d0273f4a25fd91964713dedfca0 /indra/newview | |
parent | c7a9a2fcc130117778fb2f10a91dcd1ab16d0804 (diff) |
NORSPEC-191 make alpha masked rigged faces appear with deferred rendering on and off
Diffstat (limited to 'indra/newview')
-rwxr-xr-x | indra/newview/llvovolume.cpp | 9 |
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(); |