summaryrefslogtreecommitdiff
path: root/thirdparty/assimp/code/PostProcessing/CalcTangentsProcess.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/assimp/code/PostProcessing/CalcTangentsProcess.cpp')
-rw-r--r--thirdparty/assimp/code/PostProcessing/CalcTangentsProcess.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/thirdparty/assimp/code/PostProcessing/CalcTangentsProcess.cpp b/thirdparty/assimp/code/PostProcessing/CalcTangentsProcess.cpp
index b30f39c274..a3f7dd2557 100644
--- a/thirdparty/assimp/code/PostProcessing/CalcTangentsProcess.cpp
+++ b/thirdparty/assimp/code/PostProcessing/CalcTangentsProcess.cpp
@@ -212,7 +212,7 @@ bool CalcTangentsProcess::ProcessMesh( aiMesh* pMesh, unsigned int meshIndex)
// project tangent and bitangent into the plane formed by the vertex' normal
aiVector3D localTangent = tangent - meshNorm[p] * (tangent * meshNorm[p]);
aiVector3D localBitangent = bitangent - meshNorm[p] * (bitangent * meshNorm[p]);
- localTangent.Normalize(); localBitangent.Normalize();
+ localTangent.NormalizeSafe(); localBitangent.NormalizeSafe();
// reconstruct tangent/bitangent according to normal and bitangent/tangent when it's infinite or NaN.
bool invalid_tangent = is_special_float(localTangent.x) || is_special_float(localTangent.y) || is_special_float(localTangent.z);
@@ -220,10 +220,10 @@ bool CalcTangentsProcess::ProcessMesh( aiMesh* pMesh, unsigned int meshIndex)
if (invalid_tangent != invalid_bitangent) {
if (invalid_tangent) {
localTangent = meshNorm[p] ^ localBitangent;
- localTangent.Normalize();
+ localTangent.NormalizeSafe();
} else {
localBitangent = localTangent ^ meshNorm[p];
- localBitangent.Normalize();
+ localBitangent.NormalizeSafe();
}
}