diff options
author | Dave Parks <davep@lindenlab.com> | 2022-10-10 18:53:43 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2022-10-10 18:53:43 -0500 |
commit | 07bca31e06e4219401f82ae04539418c65e22ea8 (patch) | |
tree | d5190e4cad4e3a70b7077e2fd3f56201dff79c5b /indra/newview/llvovolume.cpp | |
parent | 5890f423b4ae0f372d72af413b2296e5291bfa67 (diff) |
SL-18190 Fix alpha not playing nice with water surface by split LLDrawPoolAlpha into two passes, one above water, one below water, and clip against water plane. Currently brute forces two complete alpha passes, still need to cull against water plane and add support for fullbright shaders.
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rw-r--r-- | indra/newview/llvovolume.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index d312bb75d1..bbe6814ce1 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -4212,7 +4212,7 @@ U32 LLVOVolume::getRenderCost(texture_cost_t &textures) const } } - if (face->getPoolType() == LLDrawPool::POOL_ALPHA) + if (face->isInAlphaPool()) { alpha = 1; } @@ -4576,7 +4576,7 @@ F32 LLVOVolume::getBinRadius() { LLFace* face = mDrawable->getFace(i); if (!face) continue; - if (face->getPoolType() == LLDrawPool::POOL_ALPHA && + if (face->isInAlphaPool() && !face->canRenderAsMask()) { alpha_wrap = TRUE; |