diff options
author | Graham Linden <graham@lindenlab.com> | 2019-07-22 12:21:24 -0700 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-07-22 12:21:24 -0700 |
commit | aa4b24beee1d6451370983517d7ac3755429e26f (patch) | |
tree | 041e59a88d1e2671262705911b979cc06709a791 /indra/newview/llvovolume.cpp | |
parent | b1231c33cab45667842f66ba0a91831fa9f1393c (diff) |
SL-11443
Make fullbright rigged objects with alpha mode none use fullbright shader instead of incorrectly using the material shader.
Increase effect of variance in cloud shaders.
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rw-r--r-- | indra/newview/llvovolume.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index d149a61d89..02ef7612a7 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -5522,6 +5522,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) } LLMaterial* mat = te->getMaterialParams().get(); + bool fullbright = te->getFullbright(); if (mat && LLPipeline::sRenderDeferred) { @@ -5536,15 +5537,18 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) alpha_mode = LLMaterial::DIFFUSE_ALPHA_MODE_BLEND; } - if (!is_alpha || te_alpha > 0.f) // //only add the face if it will actually be visible + if (fullbright && (alpha_mode == LLMaterial::DIFFUSE_ALPHA_MODE_NONE)) + { + pool->addRiggedFace(facep, LLDrawPoolAvatar::RIGGED_FULLBRIGHT); + } + else if (!is_alpha || te_alpha > 0.f) // //only add the face if it will actually be visible { U32 mask = mat->getShaderMask(alpha_mode); pool->addRiggedFace(facep, mask); } } else if (mat) - { - bool fullbright = te->getFullbright(); + { bool is_alpha = type == LLDrawPool::POOL_ALPHA; U8 mode = mat->getDiffuseAlphaMode(); bool can_be_shiny = mode == LLMaterial::DIFFUSE_ALPHA_MODE_NONE || |