From 756c3d30eee4700c3edb1cb55c03bf5f51d648a7 Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Mon, 20 May 2013 17:35:16 -0700 Subject: NORSPEC-191 make alpha masked rigged faces appear with deferred rendering on and off --- indra/newview/llvovolume.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'indra/newview') 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(); -- cgit v1.2.3