summaryrefslogtreecommitdiff
path: root/indra/newview/llvovolume.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2015-10-07 15:38:40 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2015-10-07 15:38:40 -0400
commit74b8a487646cccb3260d02910ab5b16e274ec9ab (patch)
treeb23fe3a169612535095e34fb5391323cc2e3bace /indra/newview/llvovolume.cpp
parent4588616d0d57e744ec741ed17299c1c052d2bb55 (diff)
SL-234 WIP - adjust max mesh object joints at run-time, including rebuilding shaders
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rwxr-xr-xindra/newview/llvovolume.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 5e010a4712..dde0e2caa1 100755
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -4167,7 +4167,7 @@ void LLRiggedVolume::update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, cons
static const size_t kMaxJoints = LL_MAX_JOINTS_PER_MESH_OBJECT;
LLMatrix4a mat[kMaxJoints];
- U32 maxJoints = llmin(skin->mJointNames.size(), kMaxJoints);
+ U32 maxJoints = LLDrawPoolAvatar::getMeshJointCount(skin);
LLDrawPoolAvatar::initSkinningMatrixPalette((LLMatrix4*)mat, maxJoints, skin, avatar);
for (S32 i = 0; i < volume->getNumVolumeFaces(); ++i)
@@ -4189,10 +4189,11 @@ void LLRiggedVolume::update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, cons
{
LL_RECORD_BLOCK_TIME(FTM_SKIN_RIGGED);
+ U32 max_joints = LLDrawPoolAvatar::getMaxJointCount();
for (U32 j = 0; j < dst_face.mNumVertices; ++j)
{
LLMatrix4a final_mat;
- LLDrawPoolAvatar::getPerVertexSkinMatrix(weight[j].getF32ptr(), mat, false, final_mat);
+ LLDrawPoolAvatar::getPerVertexSkinMatrix(weight[j].getF32ptr(), mat, false, final_mat, max_joints);
LLVector4a& v = vol_face.mPositions[j];
LLVector4a t;