From 0322fc28d4c2c794adfb9b95a3d968a590109bb0 Mon Sep 17 00:00:00 2001 From: Random <35673979+RandomErrorMessage@users.noreply.github.com> Date: Sun, 29 Nov 2020 01:08:22 -0800 Subject: [PATCH] optimized MatrixLookAt (#1442) --- src/raymath.h | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/raymath.h b/src/raymath.h index 086eba125..7f05ea4e0 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -1074,27 +1074,24 @@ RMDEF Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up) Vector3 x = Vector3CrossProduct(up, z); x = Vector3Normalize(x); Vector3 y = Vector3CrossProduct(z, x); - y = Vector3Normalize(y); result.m0 = x.x; - result.m1 = x.y; - result.m2 = x.z; + result.m1 = y.x; + result.m2 = z.x; result.m3 = 0.0f; - result.m4 = y.x; + result.m4 = x.y; result.m5 = y.y; - result.m6 = y.z; + result.m6 = z.y; result.m7 = 0.0f; - result.m8 = z.x; - result.m9 = z.y; + result.m8 = x.z; + result.m9 = y.z; result.m10 = z.z; result.m11 = 0.0f; - result.m12 = eye.x; - result.m13 = eye.y; - result.m14 = eye.z; + result.m12 = -Vector3DotProduct(x, eye); + result.m13 = -Vector3DotProduct(y, eye); + result.m14 = -Vector3DotProduct(z, eye); result.m15 = 1.0f; - result = MatrixInvert(result); - return result; }