refactor(math): Implement Matrix4x4::Inverse, Matrix3D::Get_Inverse and replace unsafe Matrix4x4 to D3DMATRIX casts with conversion functions that apply the required transpose #2052
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change implements
Matrix4x4::InverseandMatrix3D::Get_inverseso that we do not need to useD3DXMatrixInverseforMatrix4x4andMatrix3Danymore (there are 4 callers, verified to produce same result). Chat GPT was used to help implement the text book math.Eliminates all unsafe C casts (that I was able to find) between
D3DMATRIX,D3DXMATRIXandMatrix4x4,Matrix3D.The following new helpers functions help converting between the matrices:
TODO