diff --git a/src/coders/vcm.cpp b/src/coders/vcm.cpp index bf9a152a6..42a503477 100644 --- a/src/coders/vcm.cpp +++ b/src/coders/vcm.cpp @@ -223,7 +223,12 @@ static void perform_triangle(const xmlelement& root, ModelBuilder& builder) { glm::vec3 ba = pointB - pointA; glm::vec3 ca = pointC - pointA; - glm::vec3 normal = glm::normalize(glm::cross(ba, ca)); + glm::vec3 normal; + if (root.has("normal")) { + normal = root.attr("normal").asVec3(); + } else { + normal = glm::normalize(glm::cross(ba, ca)); + } if (root.has("uv")) { root.attr("uv").asNumbers(glm::value_ptr(uvs[0]), 6);