summaryrefslogtreecommitdiff
path: root/indra/llprimitive/lldaeloader.cpp
diff options
context:
space:
mode:
authorAura Linden <aura@lindenlab.com>2015-10-27 15:15:34 -0700
committerAura Linden <aura@lindenlab.com>2015-10-27 15:15:34 -0700
commit97374a5362f097afd3027ea51757de2e36af4798 (patch)
treed8873f7076c0858c80faec7a3bf8d398c8d99c60 /indra/llprimitive/lldaeloader.cpp
parent2f6166a5a4f8d5be679cef0699142c4ef061fb55 (diff)
Fixes SL-202 joint offset and skin weight import. Race condition still exists.
Diffstat (limited to 'indra/llprimitive/lldaeloader.cpp')
-rw-r--r--indra/llprimitive/lldaeloader.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/indra/llprimitive/lldaeloader.cpp b/indra/llprimitive/lldaeloader.cpp
index 6db6bc4dc7..b4c5c844ef 100644
--- a/indra/llprimitive/lldaeloader.cpp
+++ b/indra/llprimitive/lldaeloader.cpp
@@ -1303,8 +1303,7 @@ void LLDAELoader::processDomModel(LLModel* model, DAE* dae, daeElement* root, do
mat.mMatrix[i][j] = transform[k*16 + i + j*4];
}
}
-
- model->mSkinInfo.mInvBindMatrix.push_back(mat);
+ model->mSkinInfo.mInvBindMatrix.push_back(mat);
}
}
}
@@ -1362,20 +1361,15 @@ void LLDAELoader::processDomModel(LLModel* model, DAE* dae, daeElement* root, do
std::string lookingForJoint = (*jointIt).c_str();
//Look for the joint xform that we extracted from the skeleton, using the jointIt as the key
//and store it in the alternate bind matrix
- if ( mJointList.find( lookingForJoint ) != mJointList.end() )
+ if ( mJointMap.find( lookingForJoint ) != mJointMap.end() )
{
- LLMatrix4 jointTransform = mJointList[lookingForJoint];
LLMatrix4 newInverse = model->mSkinInfo.mInvBindMatrix[i];
newInverse.setTranslation( mJointList[lookingForJoint].getTranslation() );
model->mSkinInfo.mAlternateBindMatrix.push_back( newInverse );
}
else
{
- LL_WARNS()<<"Possibly misnamed/missing joint [" <<lookingForJoint.c_str()<<" ] "<<LL_ENDL;
- //SL-202 15-31-10 Placeholders for the collision volume joints to keep array aligned.
- LLMatrix4 emptyInverse;
- emptyInverse.setZero();
- model->mSkinInfo.mAlternateBindMatrix.push_back( emptyInverse );
+ LL_WARNS()<<"Possibly misnamed/missing joint [" <<lookingForJoint.c_str()<<" ] "<<LL_ENDL;
}
}