Browse Source

Fix for issue 4454, MatrixDecompose() gave incorrect output for certain combinations of scale and rotation (#4461)

waveydave 9 months ago
parent
commit
66a4f2e90b
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/raymath.h

+ 6 - 0
src/raymath.h

@@ -2569,7 +2569,13 @@ RMAPI void MatrixDecompose(Matrix mat, Vector3 *translation, Quaternion *rotatio
     if (!FloatEquals(det, 0))
     if (!FloatEquals(det, 0))
     {
     {
         clone.m0 /= s.x;
         clone.m0 /= s.x;
+        clone.m4 /= s.x;
+        clone.m8 /= s.x;
+        clone.m1 /= s.y;
         clone.m5 /= s.y;
         clone.m5 /= s.y;
+        clone.m9 /= s.y;
+        clone.m2 /= s.z;
+        clone.m6 /= s.z;
         clone.m10 /= s.z;
         clone.m10 /= s.z;
 
 
         // Extract rotation
         // Extract rotation