diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 16b43019474b7c9441cff650f66d6220a18f4043..cde9328b5e0e8ccff9f039b6151b422aa79a044a 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -2412,8 +2412,8 @@ void LLDrawPoolAvatar::addRiggedFace(LLFace* facep, U32 type) } const LLTextureEntry* tex_entry = facep->getTextureEntry(); - // Don't render invisible faces even when they are in a linkset. - if (tex_entry && tex_entry->getColor().mV[VW] <= 0.001f) + // Don't render invisible faces even when they are in a linkset except if there's glow. + if (tex_entry && tex_entry->getColor().mV[VW] <= 0.001f && tex_entry->getGlow() <= 0.f) { return; } diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 4012f07267375ce4fed7ae2dca34af6927406a13..438d2e6c7ea4e2441cb8e2be29bceaa2101756bb 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -5940,7 +5940,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) } else { - if (te->getColor().mV[3] > 0.f) + if (te->getColor().mV[3] > 0.f || te->getGlow() > 0.f) { //only treat as alpha in the pipeline if < 100% transparent drawablep->setState(LLDrawable::HAS_ALPHA); if (alpha_count < MAX_FACE_COUNT) @@ -6651,7 +6651,7 @@ U32 LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, LLFace const LLTextureEntry* te = facep->getTextureEntry(); - if (!LLDrawPoolAlpha::sShowDebugAlpha && te->getColor().mV[3] <= 0.001f) + if (!LLDrawPoolAlpha::sShowDebugAlpha && te->getColor().mV[3] <= 0.001f && te->getGlow() <= 0.f) { ++face_iter; continue;