diff --git a/src/misc/Maths.cpp b/src/misc/Maths.cpp index ecbc952..b3b3aa3 100644 --- a/src/misc/Maths.cpp +++ b/src/misc/Maths.cpp @@ -55,10 +55,11 @@ Mat4f Inverse(const Mat4f& mat) { float c1 = mat.at(2, 0) * mat.at(3, 2) - mat.at(3, 0) * mat.at(2, 2); float c0 = mat.at(2, 0) * mat.at(3, 1) - mat.at(3, 0) * mat.at(2, 1); - // Should check for 0 determinant - float invdet = 1.0 / (s0 * c5 - s1 * c4 + s2 * c3 + s3 * c2 - s4 * c1 + s5 * c0); + float det = s0 * c5 - s1 * c4 + s2 * c3 + s3 * c2 - s4 * c1 + s5 * c0; - assert(invdet != 0 && "Determinant equals 0 !"); + assert(det != 0 && "Determinant equals 0 !"); + + float invdet = 1.0 / det; Mat4f result;