Closed karl-zylinski closed 3 weeks ago
Make rl.MatrixToFloatV transpose the matrix before transmuting it to [16]f32, so it does the same thing as the raymath version implemented in C.
Context:
The raymath.h version does this:
RMAPI float16 MatrixToFloatV(Matrix mat) { float16 result = { 0 }; result.v[0] = mat.m0; result.v[1] = mat.m1; result.v[2] = mat.m2; result.v[3] = mat.m3; result.v[4] = mat.m4; result.v[5] = mat.m5; result.v[6] = mat.m6; result.v[7] = mat.m7; result.v[8] = mat.m8; result.v[9] = mat.m9; result.v[10] = mat.m10; result.v[11] = mat.m11; result.v[12] = mat.m12; result.v[13] = mat.m13; result.v[14] = mat.m14; result.v[15] = mat.m15; return result; }
But mat.m1 is actually the fifth float in it from a memory perspective, so it is equivalent to a transpose.
Make rl.MatrixToFloatV transpose the matrix before transmuting it to [16]f32, so it does the same thing as the raymath version implemented in C.
Context:
The raymath.h version does this:
But mat.m1 is actually the fifth float in it from a memory perspective, so it is equivalent to a transpose.