aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/GeomUtils/src/common
diff options
context:
space:
mode:
authorSheikh Dawood Abdul Ajees <[email protected]>2018-09-25 11:33:48 -0500
committerSheikh Dawood Abdul Ajees <[email protected]>2018-09-25 11:33:48 -0500
commitad993f2926db6fe4ba2c75e17c4f099d9d853038 (patch)
tree426f831e7aa870a4704b8dd082538ff292e751f9 /PhysX_3.4/Source/GeomUtils/src/common
parentPhysX 3.4, APEX 1.4 patch release @24698370 (diff)
downloadphysx-3.4-ad993f2926db6fe4ba2c75e17c4f099d9d853038.tar.xz
physx-3.4-ad993f2926db6fe4ba2c75e17c4f099d9d853038.zip
PhysX 3.4, APEX 1.4 patch release @24990349
Diffstat (limited to 'PhysX_3.4/Source/GeomUtils/src/common')
-rw-r--r--PhysX_3.4/Source/GeomUtils/src/common/GuBarycentricCoordinates.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/PhysX_3.4/Source/GeomUtils/src/common/GuBarycentricCoordinates.cpp b/PhysX_3.4/Source/GeomUtils/src/common/GuBarycentricCoordinates.cpp
index 9ba320f9..726353dd 100644
--- a/PhysX_3.4/Source/GeomUtils/src/common/GuBarycentricCoordinates.cpp
+++ b/PhysX_3.4/Source/GeomUtils/src/common/GuBarycentricCoordinates.cpp
@@ -40,7 +40,9 @@ void Gu::barycentricCoordinates(const Vec3VArg p, const Vec3VArg a, const Vec3VA
const Vec3V d = V3Sub(v1, v0);
const FloatV denominator = V3Dot(d, d);
const FloatV numerator = V3Dot(V3Neg(v0), d);
- v = FDiv(numerator, denominator);
+ const FloatV zero = FZero();
+ const FloatV denom = FSel(FIsGrtr(denominator, zero), FRecip(denominator), zero);
+ v = FMul(numerator, denom);
}
void Gu::barycentricCoordinates(const Ps::aos::Vec3VArg p, const Ps::aos::Vec3VArg a, const Ps::aos::Vec3VArg b, const Ps::aos::Vec3VArg c, Ps::aos::FloatV& v, Ps::aos::FloatV& w)