diff --git a/src/Nazara/Utility/Loaders/MD2/Loader.cpp b/src/Nazara/Utility/Loaders/MD2/Loader.cpp index 05ba0d55e..22407b765 100644 --- a/src/Nazara/Utility/Loaders/MD2/Loader.cpp +++ b/src/Nazara/Utility/Loaders/MD2/Loader.cpp @@ -269,13 +269,14 @@ namespace } } + /// Chargement des positions for (unsigned int v = 0; v < header.num_vertices; ++v) { const md2_vertex& vert = vertices[v]; NzVector3f position = rotationQuat * NzVector3f(vert.x * scale.x + translate.x, vert.y * scale.y + translate.y, vert.z * scale.z + translate.z); - vertex->normal = rotationQuat * md2Normals[vert.n]; vertex->position = position; + vertex->normal = rotationQuat * md2Normals[vert.n]; vertex++; } @@ -287,6 +288,8 @@ namespace subMesh->SetMaterialIndex(0); mesh->AddSubMesh(subMesh.release()); + + mesh->GenerateTangents(); } return true; diff --git a/src/Nazara/Utility/Loaders/MD5Mesh/Parser.cpp b/src/Nazara/Utility/Loaders/MD5Mesh/Parser.cpp index 642efc000..ecfaa4d68 100644 --- a/src/Nazara/Utility/Loaders/MD5Mesh/Parser.cpp +++ b/src/Nazara/Utility/Loaders/MD5Mesh/Parser.cpp @@ -360,6 +360,8 @@ bool NzMD5MeshParser::Parse(NzMesh* mesh) } } + mesh->GenerateNormalsAndTangents(); + return true; }