summaryrefslogtreecommitdiff
path: root/indra/newview/llvovolume.cpp
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2019-07-22 12:21:24 -0700
committerGraham Linden <graham@lindenlab.com>2019-07-22 12:21:24 -0700
commitaa4b24beee1d6451370983517d7ac3755429e26f (patch)
tree041e59a88d1e2671262705911b979cc06709a791 /indra/newview/llvovolume.cpp
parentb1231c33cab45667842f66ba0a91831fa9f1393c (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.cpp10
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 ||