From ce3aabb4e78b16f570db9268b4a71b762d36b290 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 26 Apr 2009 21:23:59 +0000 Subject: [PATCH] Rewind own commit that aimed to make converting meshes faster at startup. Some files probably need to have UV's welded so better do this even though it seems inefficient. --- source/gameengine/Rasterizer/RAS_TexVert.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/source/gameengine/Rasterizer/RAS_TexVert.cpp b/source/gameengine/Rasterizer/RAS_TexVert.cpp index 210addfb927..60b00be5705 100644 --- a/source/gameengine/Rasterizer/RAS_TexVert.cpp +++ b/source/gameengine/Rasterizer/RAS_TexVert.cpp @@ -113,19 +113,18 @@ void RAS_TexVert::SetTangent(const MT_Vector3& tangent) tangent.getValue(m_tangent); } + // compare two vertices, and return TRUE if both are almost identical (they can be shared) -#define _VEC_EQUAL3(_v1, _v2) (_v1[0]==_v2[0] && _v1[1]==_v2[1] && _v1[2]==_v2[2]) -#define _VEC_EQUAL2(_v1, _v2) (_v1[0]==_v2[0] && _v1[1]==_v2[1]) bool RAS_TexVert::closeTo(const RAS_TexVert* other) { return (m_flag == other->m_flag && m_rgba == other->m_rgba && - _VEC_EQUAL3(m_normal, other->m_normal) && - _VEC_EQUAL3(m_tangent, other->m_tangent) && - _VEC_EQUAL2(m_uv1, other->m_uv1) && - _VEC_EQUAL2(m_uv2, other->m_uv2) // p -- - /* we know the verts must be shared so dont need to check this */ - /*&& FAST_MT_fuzzyEqual3(m_localxyz, other->m_localxyz)*/) ; + MT_fuzzyEqual(MT_Vector3(m_normal), MT_Vector3(other->m_normal)) && + MT_fuzzyEqual(MT_Vector3(m_tangent), MT_Vector3(other->m_tangent)) && + MT_fuzzyEqual(MT_Vector2(m_uv1), MT_Vector2(other->m_uv1)) && + MT_fuzzyEqual(MT_Vector2(m_uv2), MT_Vector2(other->m_uv2)) /* && + MT_fuzzyEqual(MT_Vector3(m_localxyz), MT_Vector3(other->m_localxyz))*/) ; + /* dont bother comparing m_localxyz since we know there from the same vert */ } short RAS_TexVert::getFlag() const