From 0c0cc2aefeffe6ebae5cd17cac6868d31049189c Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 1 May 2014 15:26:45 +0000 Subject: [PATCH] Decreased distance to weld vertices to fix some parts not drawing correctly. --- common/lc_library.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/lc_library.cpp b/common/lc_library.cpp index dab81950..36eb9b2a 100644 --- a/common/lc_library.cpp +++ b/common/lc_library.cpp @@ -1541,6 +1541,7 @@ void lcLibraryMeshData::AddMeshData(const lcLibraryMeshData& Data, const lcMatri { int VertexCount = Data.mVertices.GetSize(); lcArray IndexRemap(VertexCount); + const float DistanceEpsilon = 0.05f; if (!TextureMap) { @@ -1556,7 +1557,7 @@ void lcLibraryMeshData::AddMeshData(const lcLibraryMeshData& Data, const lcMatri lcVertex& DstVertex = mVertices[DstVertexIdx]; // if (Vertex == mVertices[DstVertexIdx]) - if (fabsf(Position.x - DstVertex.Position.x) < 0.1f && fabsf(Position.y - DstVertex.Position.y) < 0.1f && fabsf(Position.z - DstVertex.Position.z) < 0.1f) + if (fabsf(Position.x - DstVertex.Position.x) < DistanceEpsilon && fabsf(Position.y - DstVertex.Position.y) < DistanceEpsilon && fabsf(Position.z - DstVertex.Position.z) < DistanceEpsilon) { Index = DstVertexIdx; break; @@ -1590,7 +1591,7 @@ void lcLibraryMeshData::AddMeshData(const lcLibraryMeshData& Data, const lcMatri lcVertexTextured& DstVertex = mTexturedVertices[DstVertexIdx]; // if (Vertex == mTexturedVertices[DstVertexIdx]) - if (fabsf(Position.x - DstVertex.Position.x) < 0.1f && fabsf(Position.y - DstVertex.Position.y) < 0.1f && fabsf(Position.z - DstVertex.Position.z) < 0.1f && + if (fabsf(Position.x - DstVertex.Position.x) < DistanceEpsilon && fabsf(Position.y - DstVertex.Position.y) < DistanceEpsilon && fabsf(Position.z - DstVertex.Position.z) < DistanceEpsilon && fabsf(TexCoord.x - DstVertex.TexCoord.x) < 0.01f && fabsf(TexCoord.y - DstVertex.TexCoord.y) < 0.01f) { Index = DstVertexIdx;