aboutsummaryrefslogtreecommitdiffstats
path: root/gb_math.h
diff options
context:
space:
mode:
authorGravatar Dmytro Ivanov 2016-12-18 14:49:34 +0100
committerGravatar Dmytro Ivanov 2016-12-18 14:49:34 +0100
commite8bc38cec5afb897369abd1c305cbf30011151de (patch)
treebd0f25dcdd2d5b67ef8188967a6e2edc051ea35d /gb_math.h
parentgb_math.h - Add gb_random01 (diff)
fixing mat4 inverse again
Diffstat (limited to '')
-rw-r--r--gb_math.h15
1 files changed, 4 insertions, 11 deletions
diff --git a/gb_math.h b/gb_math.h
index 11eb9a2..4b17453 100644
--- a/gb_math.h
+++ b/gb_math.h
@@ -3,6 +3,7 @@
use '#define GB_MATH_IMPLEMENTATION' before including to create the implementation in _ONE_ file
Version History:
+ 0.07d - Fix mat4_inverse
0.07c - Add gb_random01
0.07b - Fix mat4_inverse
0.07a - Fix Mat2
@@ -1565,9 +1566,9 @@ void gb_mat4_inverse(gbMat4 *out, gbMat4 *in) {
o[3][3] = +(m[0][0] * sf15 - m[0][1] * sf17 + m[0][2] * sf18);
ood = 1.0f / (m[0][0] * o[0][0] +
- m[1][0] * o[1][0] +
- m[2][0] * o[2][0] +
- m[3][0] * o[3][0]);
+ m[0][1] * o[1][0] +
+ m[0][2] * o[2][0] +
+ m[0][3] * o[3][0]);
o[0][0] *= ood;
o[0][1] *= ood;
@@ -1585,14 +1586,6 @@ void gb_mat4_inverse(gbMat4 *out, gbMat4 *in) {
o[3][1] *= ood;
o[3][2] *= ood;
o[3][3] *= ood;
-
- /* Transpose */
- tmp = o[1][0]; o[1][0] = o[0][1]; o[0][1] = tmp;
- tmp = o[2][0]; o[2][0] = o[0][2]; o[0][2] = tmp;
- tmp = o[3][0]; o[3][0] = o[0][3]; o[0][3] = tmp;
- tmp = o[2][1]; o[2][1] = o[1][2]; o[1][2] = tmp;
- tmp = o[3][1]; o[3][1] = o[1][3]; o[1][3] = tmp;
- tmp = o[3][2]; o[3][2] = o[2][3]; o[2][3] = tmp;
}