Math lib fix

This commit is contained in:
JackCarterSmith 2024-10-16 12:45:04 +02:00
parent d1937d4f26
commit caad89a608
Signed by: JackCarterSmith
GPG Key ID: 832E52F4E23F8F24
3 changed files with 7 additions and 7 deletions

View File

@ -495,7 +495,7 @@ void M3D_V4SinCos(M3D_VECTOR* pSin, M3D_VECTOR* pCos, M3D_VECTOR V) noexcept;
M3D_MATRIX M3D_MIdentity() noexcept; M3D_MATRIX M3D_MIdentity() noexcept;
M3D_MATRIX M3D_MMultiply(M3D_MATRIX M1, M3D_MATRIX& M2) noexcept; M3D_MATRIX M3D_MMultiply(M3D_MATRIX M1, M3D_MATRIX& M2) noexcept;
M3D_MATRIX M3D_MTranspose(M3D_MATRIX M) noexcept; M3D_MATRIX M3D_MTranspose(M3D_MATRIX M) noexcept;
M3D_MATRIX M3D_MInverse(M3D_VECTOR* pDeterminant, M3D_MATRIX M) noexcept; M3D_MATRIX M3D_MInverse(M3D_MATRIX M) noexcept;
M3D_VECTOR M3D_QRotationMatrix(M3D_MATRIX M) noexcept; M3D_VECTOR M3D_QRotationMatrix(M3D_MATRIX M) noexcept;

View File

@ -374,7 +374,7 @@ inline M3D_MATRIX M3D_MTranspose(M3D_MATRIX M) noexcept {
#endif #endif
} }
inline M3D_MATRIX M3D_MInverse(M3D_VECTOR* pDeterminant, M3D_MATRIX M) noexcept { inline M3D_MATRIX M3D_MInverse(M3D_MATRIX M) noexcept {
#ifdef DISABLE_INTRINSICS #ifdef DISABLE_INTRINSICS
M3D_MATRIX MT = M3D_MTranspose(M); M3D_MATRIX MT = M3D_MTranspose(M);
@ -455,8 +455,8 @@ inline M3D_MATRIX M3D_MInverse(M3D_VECTOR* pDeterminant, M3D_MATRIX M) noexcept
M3D_VECTOR Determinant = M3D_V4Dot(R.rows[0], MT.rows[0]); M3D_VECTOR Determinant = M3D_V4Dot(R.rows[0], MT.rows[0]);
if (pDeterminant != nullptr) //if (pDeterminant != nullptr)
*pDeterminant = Determinant; // *pDeterminant = Determinant;
M3D_VECTOR Reciprocal = M3D_V4Reciprocal(Determinant); M3D_VECTOR Reciprocal = M3D_V4Reciprocal(Determinant);
@ -576,8 +576,8 @@ inline M3D_MATRIX M3D_MInverse(M3D_VECTOR* pDeterminant, M3D_MATRIX M) noexcept
C6 = M3D_PERMUTE_PS(C6, _MM_SHUFFLE(3, 1, 2, 0)); C6 = M3D_PERMUTE_PS(C6, _MM_SHUFFLE(3, 1, 2, 0));
// Get the determinant // Get the determinant
M3D_VECTOR vTemp = M3D_V4Dot(C0, MT.rows[0]); M3D_VECTOR vTemp = M3D_V4Dot(C0, MT.rows[0]);
if (pDeterminant != nullptr) //if (pDeterminant != nullptr)
*pDeterminant = vTemp; // *pDeterminant = vTemp;
vTemp = _mm_div_ps(M3D_MOne, vTemp); vTemp = _mm_div_ps(M3D_MOne, vTemp);
M3D_MATRIX mResult; M3D_MATRIX mResult;
mResult.rows[0] = _mm_mul_ps(C0, vTemp); mResult.rows[0] = _mm_mul_ps(C0, vTemp);

View File

@ -72,4 +72,4 @@ struct Mesh {
return sum; return sum;
} }
}; };