From afddcd0804beacb328c59492e13cbd1c7c407722 Mon Sep 17 00:00:00 2001 From: Lynix Date: Tue, 29 Jan 2013 02:02:35 +0100 Subject: [PATCH] Fixed MD2/MD5 meshs not having normals/tangents Former-commit-id: 9456620961fc7e75482b4fc29394934a3d695c5e --- src/Nazara/Utility/Loaders/MD2/Loader.cpp | 5 ++++- src/Nazara/Utility/Loaders/MD5Mesh/Parser.cpp | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) 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; }