From f7d9cefc807fdb009dc5ff979d98da9bf6b3d474 Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Thu, 11 Jul 2024 09:26:05 +0200 Subject: [PATCH] Recast: remove mesh import flipping code This was initially implemented to work around a normal flipping bug caused by the BSP to OBJ converter script, and the way Blender exports assets (it flips the axis on export). Removed code as we should instead use the fixed scripts and properly export the adjusted models from the DCC tools. --- src/naveditor/MeshLoaderObj.cpp | 23 ++++++------------ src/naveditor/MeshLoaderPly.cpp | 34 ++++++--------------------- src/naveditor/include/MeshLoaderObj.h | 3 --- 3 files changed, 14 insertions(+), 46 deletions(-) diff --git a/src/naveditor/MeshLoaderObj.cpp b/src/naveditor/MeshLoaderObj.cpp index 8d8b699b..f5efdecc 100644 --- a/src/naveditor/MeshLoaderObj.cpp +++ b/src/naveditor/MeshLoaderObj.cpp @@ -48,18 +48,11 @@ void rcMeshLoaderObj::addVertex(float x, float y, float z, int& cap) m_verts = nv; } float* dst = &m_verts[m_vertCount*3]; - if (m_flipAxis) - { - *dst++ = x * m_scale; - *dst++ = z * m_scale; - *dst++ = -y * m_scale; - } - else - { - *dst++ = x * m_scale; - *dst++ = y * m_scale; - *dst++ = z * m_scale; - } + + *dst++ = x * m_scale; + *dst++ = y * m_scale; + *dst++ = z * m_scale; + m_vertCount++; } @@ -211,10 +204,8 @@ bool rcMeshLoaderObj::load(const std::string& filename) const int c = face[i]; if (a < 0 || a >= m_vertCount || b < 0 || b >= m_vertCount || c < 0 || c >= m_vertCount) continue; - if(m_flipTris) - addTriangle(a, c, b, tcap); - else - addTriangle(a, b, c, tcap); + + addTriangle(a, b, c, tcap); } } } diff --git a/src/naveditor/MeshLoaderPly.cpp b/src/naveditor/MeshLoaderPly.cpp index 33d43e1b..823f987c 100644 --- a/src/naveditor/MeshLoaderPly.cpp +++ b/src/naveditor/MeshLoaderPly.cpp @@ -79,21 +79,9 @@ end_header for (size_t i = 0; i < m_vertCount; i++) { - //TODO: m_scale? - if (m_flipAxis) - { - input.read((char*)&m_verts[i * 3 + 0], sizeof(float)); - input.read((char*)&m_verts[i * 3 + 2], sizeof(float)); - input.read((char*)&m_verts[i * 3 + 1], sizeof(float)); - m_verts[i * 3 + 1] *= -1; - } - else - { - input.read((char*)&m_verts[i * 3 + 0], sizeof(float)); - input.read((char*)&m_verts[i * 3 + 1], sizeof(float)); - input.read((char*)&m_verts[i * 3 + 2], sizeof(float)); - } - + input.read((char*)&m_verts[i * 3 + 0], sizeof(float)); + input.read((char*)&m_verts[i * 3 + 1], sizeof(float)); + input.read((char*)&m_verts[i * 3 + 2], sizeof(float)); } for (size_t i = 0; i < m_triCount; i++) @@ -102,18 +90,10 @@ end_header input.read(&count, 1); if (count != 3) return false; - if (m_flipTris) - { - input.read((char*)&m_tris[i * 3 + 0], sizeof(int)); - input.read((char*)&m_tris[i * 3 + 2], sizeof(int)); - input.read((char*)&m_tris[i * 3 + 1], sizeof(int)); - } - else - { - input.read((char*)&m_tris[i * 3 + 0], sizeof(int)); - input.read((char*)&m_tris[i * 3 + 1], sizeof(int)); - input.read((char*)&m_tris[i * 3 + 2], sizeof(int)); - } + + input.read((char*)&m_tris[i * 3 + 0], sizeof(int)); + input.read((char*)&m_tris[i * 3 + 1], sizeof(int)); + input.read((char*)&m_tris[i * 3 + 2], sizeof(int)); } // Calculate normals. diff --git a/src/naveditor/include/MeshLoaderObj.h b/src/naveditor/include/MeshLoaderObj.h index b14e8c08..743fbb56 100644 --- a/src/naveditor/include/MeshLoaderObj.h +++ b/src/naveditor/include/MeshLoaderObj.h @@ -33,9 +33,6 @@ public: virtual int getVertCount() const = 0; virtual int getTriCount() const = 0; virtual const std::string& getFileName() const = 0; - - bool m_flipAxis = false; // !TODO: ImGui import option. - bool m_flipTris = false; // !TODO: ImGui import option. }; class rcMeshLoaderObj:public IMeshLoader {