Ejemplo n.º 1
0
void MArmature::updateBonesSkinMatrix(void)
{
    M_PROFILE_SCOPE(MArmature::updateBonesSkinMatrix);
	unsigned int i;
	MOBone * bone = NULL;
	for(i=0; i<m_bonesNumber; i++)
	{
		bone = m_bones[i];
		(*bone->getSkinMatrix()) = (*bone->getMatrix()) * (*bone->getInversePoseMatrix());
	}
}
Ejemplo n.º 2
0
void MArmature::constructBonesInversePoseMatrix(void)
{
    M_PROFILE_SCOPE(MArmature::constructBonesInversePoseMatrix);
	unsigned int i;
	MOBone * bone = NULL;

	processBonesLinking();

	// construct inverse pose matrix
	for(i=0; i<m_bonesNumber; i++)
	{
		bone = m_bones[i];
		(*bone->getInversePoseMatrix()) = bone->getMatrix()->getInverse();
	}
}