Normalize() is replaced with NormalizeSafe() to prevent invalid vectors generation

This commit is contained in:
Vitaly Ovchinnikov
2015-12-14 15:31:49 +13:00
parent 078dd0c08b
commit b6f14eb917
3 changed files with 12 additions and 2 deletions

View File

@@ -192,7 +192,7 @@ bool GenVertexNormalsProcess::GenMeshVertexNormals (aiMesh* pMesh, unsigned int
const aiVector3D& v = pMesh->mNormals[verticesFound[a]];
if (is_not_qnan(v.x))pcNor += v;
}
pcNor.Normalize();
pcNor.NormalizeSafe();
// Write the smoothed normal back to all affected normals
for (unsigned int a = 0; a < verticesFound.size(); ++a)
@@ -225,7 +225,7 @@ bool GenVertexNormalsProcess::GenMeshVertexNormals (aiMesh* pMesh, unsigned int
if (v * vr >= fLimit * vrlen * v.Length())
pcNor += v;
}
pcNew[i] = pcNor.Normalize();
pcNew[i] = pcNor.NormalizeSafe();
}
}