Utility/Mesh: Replace scale by transform matrix

Former-commit-id: b02de61fe0213f5fdd074dfa868db415e9c770c3 [formerly e185f2b410f2a3e04a0f11be28665cf6e8dcb617]
Former-commit-id: d0c7e88fe2b5f8a4aa97640d050751def83f3783
This commit is contained in:
Lynix
2016-06-09 08:46:44 +02:00
parent f9d6cfcf07
commit 63ac80c7ff
7 changed files with 18 additions and 17 deletions

View File

@@ -48,7 +48,8 @@ namespace Nz
// Le hellknight de Doom 3 fait ~120 unités, et il est dit qu'il fait trois mètres
// Nous réduisons donc la taille générale des fichiers MD5 de 1/40
Vector3f scale(parameters.scale/40.f);
Matrix4f matrix = Matrix4f::Transform(Nz::Vector3f::Zero(), rotationQuat, Vector3f(1.f / 40.f));
matrix *= parameters.matrix;
const MD5MeshParser::Joint* joints = parser.GetJoints();
const MD5MeshParser::Mesh* meshes = parser.GetMeshes();
@@ -267,7 +268,7 @@ namespace Nz
}
// On retourne le modèle dans le bon sens
vertex->position = scale * (rotationQuat * finalPos);
vertex->position = matrix * finalPos;
vertex->uv.Set(md5Vertex.uv.x, (parameters.flipUVs) ? 1.f - md5Vertex.uv.y : md5Vertex.uv.y); // Inversion des UV si demandé
vertex++;
}