X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=mod_skeletal_animatevertices_sse.c;h=f575d24522db67e7b2d3f604e639905f8d6706c4;hb=ed0e9df6813f346647e54f92043920f63c1151b1;hp=d6f71f1a90b40ac04b9d23bd18d9cbeb77380c50;hpb=8823e14b9482ce5779c09a48e9b81f397f94b55f;p=xonotic%2Fdarkplaces.git diff --git a/mod_skeletal_animatevertices_sse.c b/mod_skeletal_animatevertices_sse.c index d6f71f1a..f575d245 100644 --- a/mod_skeletal_animatevertices_sse.c +++ b/mod_skeletal_animatevertices_sse.c @@ -20,9 +20,6 @@ void Mod_Skeletal_AnimateVertices_SSE(const dp_model_t * RESTRICT model, const f const blendweights_t * RESTRICT weights; int num_vertices_minus_one; - if (!model->surfmesh.num_vertices) - return; - num_vertices_minus_one = model->surfmesh.num_vertices - 1; //unsigned long long ts = rdtsc(); @@ -47,7 +44,8 @@ void Mod_Skeletal_AnimateVertices_SSE(const dp_model_t * RESTRICT model, const f // create a relative deformation matrix to describe displacement // from the base mesh, which is used by the actual weighting Matrix4x4_FromArray12FloatD3D(&mm, model->data_baseboneposeinverse + i * 12); // baseboneposeinverse is 4x3 row-major - Matrix4x4_Concat(&boneposerelative[i], &bonepose[i], &mm); + Matrix4x4_Concat(&mm2, &bonepose[i], &mm); + Matrix4x4_Transpose(&boneposerelative[i], &mm2); // TODO: Eliminate this transpose } } else