From 5da9d4ee8c920a5f3f7aaade1fc11d698f63c740 Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Mon, 13 Dec 2021 10:49:22 -0500 Subject: [PATCH] Fix 100% transparent objects failing to render glow --- indra/newview/lldrawpoolavatar.cpp | 4 ++-- indra/newview/llvovolume.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 16b43019474..cde9328b5e0 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 4012f072673..438d2e6c7ea 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; -- GitLab