From f94900d8243772bf68ae5007832e88fed5350176 Mon Sep 17 00:00:00 2001 From: stujones11 Date: Sun, 7 Oct 2018 18:14:42 +0100 Subject: [PATCH] Always recalculate normals after scaling --- src/viewer.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/viewer.cpp b/src/viewer.cpp index 16fb4dd..861ec45 100644 --- a/src/viewer.cpp +++ b/src/viewer.cpp @@ -171,8 +171,6 @@ void Viewer::exportStaticMesh(const char *caption, const char **filters, mesh = smgr->getMesh(fn); if (flags & E_MESH_EXPORT_FLIP) manip->flipSurfaces(mesh); - if (flags & E_MESH_EXPORT_NORMAL) - manip->recalculateNormals(mesh); if (flags & E_MESH_EXPORT_TRANSFORM) manip->transform(mesh, model->getRelativeTransformation()); if (scale != 100) @@ -180,6 +178,9 @@ void Viewer::exportStaticMesh(const char *caption, const char **filters, f32 sf = (f32)scale / 100.f; manip->scale(mesh, vector3df(sf, sf, sf)); } + if (scale != 100 || flags & E_MESH_EXPORT_NORMAL) + manip->recalculateNormals(mesh); + file = fs->createAndWriteFile(fn); writer = smgr->createMeshWriter(id); writer->writeMesh(file, mesh);