DirectXMath
DirectXMath copied to clipboard
DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps
Per the [porting guide](https://www.intel.com/content/www/us/en/developer/articles/guide/porting-guide-for-icc-users-to-dpcpp-or-icx.html?msclkid=d1726d45d15f11eca19c0a78074dff09), there the control define for the new Intel LLVM compiler is ``__INTEL_LLVM_COMPILER``. Should update DirectXMath to support both the new and classic Intel compilers.
Our left handed perspective matrix should be like this: But the comments in [DirectXMathMatrix.inl#L2518-L2521](https://github.com/microsoft/DirectXMath/blob/ecc6560c14fbba13149c72ddcafacb14cb84e599/Inc/DirectXMathMatrix.inl#L2518-L2521) seem to indicate the projection matrix is:
The DirectXMath library includes both a `XMMatrixTranspose` and a `XMMatrixInverse`, but doing both at once could be made more efficient by omitting the initial transpose.
The right handed orthographic matrices do not work as expected. They should return depth between 0 and 1 for z values between znear and zfar, like the left handed ones...
The current `XMVectorRound` uses round-to-nearest (even) a.k.a. _banker's rounding_. This matches the implementation of the `_mm_round_ps` (SSE4) and `vrndnq_f32` (ARMv8 NEON) intrinsics rounding behavior, so it can be implemented in...
The original D3DX9math implementation of Matrix Stack only tracked a single matrix. One of the reasons, however, to create a stack is to be able to step-by-step maintain a matching...
The clang/LLVM + /Ox + /fp:fast + XMVectorRound built for SSE/SSE2 generated the bad results. XMVectorRound are used in trigonometric functions such as XMVectorSinCos, etc. **Repro code:** https://github.com/shinjich/directxmathtest/tree/master/VerifyRounding The reproduction...
Report from Dave Eberly about problems with the oriented box `SolveCubic` helper function. > The SolveCubic is called to compute the eigenvalues of a real-valued symmetric 3x3 matrix. Such matrices...
_Edit: I'm completely rewriting my entry_ Using the FFT in XDSP.h I'm implementing a transform routine for pure real sequences equivalent to the function ippsFFTFwd_RToCCS_32f in the Intel IPP. The...
XMConvertHalfToFloat and XMConvertFloatToHalf both use a large number of integer ops when F16 intrinsics aren't available. It may be faster to do it with floating point operations. XMConvertHalfToFloat has a...