From cabc4e40bcf1613cf263872a321b437a8c9010ec Mon Sep 17 00:00:00 2001 From: Lynix Date: Sun, 25 Jan 2015 23:57:28 +0100 Subject: [PATCH] Fixed mesh centering in a better way Former-commit-id: 859dfdad322da045fecf32ea7c551f7fb436f135 --- src/Nazara/Graphics/Loaders/OBJ/Loader.cpp | 7 +++---- src/Nazara/Utility/Loaders/MD2/Loader.cpp | 6 +++--- src/Nazara/Utility/Loaders/MD5Mesh/Loader.cpp | 6 +++--- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/Nazara/Graphics/Loaders/OBJ/Loader.cpp b/src/Nazara/Graphics/Loaders/OBJ/Loader.cpp index 086b61c26..b9394a113 100644 --- a/src/Nazara/Graphics/Loaders/OBJ/Loader.cpp +++ b/src/Nazara/Graphics/Loaders/OBJ/Loader.cpp @@ -163,9 +163,6 @@ namespace subMesh->SetMaterialIndex(meshes[i].material); subMesh->SetPrimitiveMode(nzPrimitiveMode_TriangleList); - if (parameters.mesh.center) - subMesh->Center(); - // Ce que nous pouvons générer dépend des données à disposition (par exemple les tangentes nécessitent des coordonnées de texture) if (hasNormals && hasTexCoords) subMesh->GenerateTangents(); @@ -176,9 +173,11 @@ namespace mesh->AddSubMesh(meshes[i].name + '_' + materials[meshes[i].material], subMesh); } - mesh->SetMaterialCount(parser.GetMaterialCount()); + if (parameters.mesh.center) + mesh->Recenter(); + model->SetMesh(mesh); // On charge les matériaux si demandé diff --git a/src/Nazara/Utility/Loaders/MD2/Loader.cpp b/src/Nazara/Utility/Loaders/MD2/Loader.cpp index 614df0921..f32490751 100644 --- a/src/Nazara/Utility/Loaders/MD2/Loader.cpp +++ b/src/Nazara/Utility/Loaders/MD2/Loader.cpp @@ -225,11 +225,11 @@ namespace subMesh->SetIndexBuffer(indexBuffer); subMesh->SetMaterialIndex(0); - if (parameters.center) - subMesh->Center(); - mesh->AddSubMesh(subMesh); + if (parameters.center) + mesh->Recenter(); + return true; } } diff --git a/src/Nazara/Utility/Loaders/MD5Mesh/Loader.cpp b/src/Nazara/Utility/Loaders/MD5Mesh/Loader.cpp index 463068048..8d07acde8 100644 --- a/src/Nazara/Utility/Loaders/MD5Mesh/Loader.cpp +++ b/src/Nazara/Utility/Loaders/MD5Mesh/Loader.cpp @@ -278,14 +278,14 @@ namespace subMesh->GenerateNormalsAndTangents(); subMesh->SetMaterialIndex(i); - if (parameters.center) - subMesh->Center(); - mesh->AddSubMesh(subMesh); // Material mesh->SetMaterial(i, baseDir + md5Mesh.shader); } + + if (parameters.center) + mesh->Recenter(); } return true;