Inline common vector/matrix operations, for performance.

Remove some redundant vector methods.
Compute skinning for positions and normals simultaneously.
(These changes reduce skinning cost by >50%.)

This was SVN commit r8170.
This commit is contained in:
Ykkrosh
2010-09-24 16:54:20 +00:00
parent 46b79f8a6d
commit ede71ea791
9 changed files with 157 additions and 158 deletions
+2 -5
View File
@@ -86,11 +86,8 @@ void ModelRenderer::BuildPositionAndNormals(
return;
}
for (size_t j=0; j<numVertices; j++)
{
Position[j] = CModelDef::SkinPoint(vertices[j], model->GetAnimatedBoneMatrices(), model->GetInverseBindBoneMatrices());
Normal[j] = CModelDef::SkinNormal(vertices[j], model->GetAnimatedBoneMatrices(), model->GetInverseBindBoneMatrices());
}
CModelDef::SkinPointsAndNormals(numVertices, Position, Normal, vertices, model->GetAnimatedBoneMatrices(), model->GetInverseBindBoneMatrices());
}
else
{