summaryrefslogtreecommitdiff
path: root/indra/newview/llspatialpartition.cpp
diff options
context:
space:
mode:
authorcosmic-linden <111533034+cosmic-linden@users.noreply.github.com>2024-08-22 11:45:14 -0700
committerGitHub <noreply@github.com>2024-08-22 13:45:14 -0500
commit2c4fe4ff454490454d0bb71c1e5359747524048a (patch)
tree2328f0e9f9abed32a52e7faea2e4f551557d6302 /indra/newview/llspatialpartition.cpp
parent9b0010b5d5a00eb59b71487701b98b50992f8a8e (diff)
secondlife/viewer#2349: Avatar/animesh rendering correctness pass (#2364)
* secondlife/viewer#2349: Blinn-Phong avatar/animesh rendering optimization/correctness pass * secondlife/viewer#2349: General avatar/animesh rendering optimization/correctness pass
Diffstat (limited to 'indra/newview/llspatialpartition.cpp')
-rw-r--r--indra/newview/llspatialpartition.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index c2cce8c5ec..e517d009f5 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -1667,8 +1667,9 @@ void renderOctree(LLSpatialGroup* group)
glLineWidth(1.f);
gGL.flush();
- LLVOAvatar* lastAvatar = nullptr;
+ const LLVOAvatar* lastAvatar = nullptr;
U64 lastMeshId = 0;
+ bool skipLastSkin = false;
for (LLSpatialGroup::element_iter i = group->getDataBegin(); i != group->getDataEnd(); ++i)
{
@@ -1697,15 +1698,9 @@ void renderOctree(LLSpatialGroup* group)
{
gGL.pushMatrix();
gGL.loadMatrix(gGLModelView);
- if (lastAvatar != face->mAvatar ||
- lastMeshId != face->mSkinInfo->mHash)
+ if (!LLRenderPass::uploadMatrixPalette(face->mAvatar, face->mSkinInfo, lastAvatar, lastMeshId, skipLastSkin))
{
- if (!LLRenderPass::uploadMatrixPalette(face->mAvatar, face->mSkinInfo))
- {
- continue;
- }
- lastAvatar = face->mAvatar;
- lastMeshId = face->mSkinInfo->mHash;
+ continue;
}
}
for (S32 j = 0; j < drawable->getNumFaces(); j++)