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/lldrawpool.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/lldrawpool.cpp')
| -rw-r--r-- | indra/newview/lldrawpool.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp index 015e520179..7305177e4a 100644 --- a/indra/newview/lldrawpool.cpp +++ b/indra/newview/lldrawpool.cpp @@ -86,9 +86,12 @@ LLDrawPool *LLDrawPool::createPool(const U32 type, LLViewerTexture *tex0) case POOL_GLOW: poolp = new LLDrawPoolGlow(); break; - case POOL_ALPHA: - poolp = new LLDrawPoolAlpha(); + case POOL_ALPHA_PRE_WATER: + poolp = new LLDrawPoolAlpha(LLDrawPool::POOL_ALPHA_PRE_WATER); break; + case POOL_ALPHA_POST_WATER: + poolp = new LLDrawPoolAlpha(LLDrawPool::POOL_ALPHA_POST_WATER); + break; case POOL_AVATAR: case POOL_CONTROL_AV: poolp = new LLDrawPoolAvatar(type); |
