GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — Home Home
Chuck Walbourn edited this page
https://go.microsoft.com/fwlink/?LinkID=615560
See this post. #include <DirectXMath.h> #include <DirectXCollision.h> #include <DirectXColors.h> #include <DirectXPackedVector.h> All the functions in the library are in the DirectX C++ namespace. The packed vector types and functions are in the DirectX::PackedVector C++ namespace. using namespace DirectX; The DirectXMath library is documented on Microsoft Docs.
The DirectXMath library is included in the Windows SDK starting with version 8.0. Therefore it is included with Visual C++ 2012 and later. For a full list versions, see releases. DirectXMath is also available on NuGet. DirectXMath is available from vcpkg.
For Windows Subsystem for Linux, use: You can use VCPKG to install XDSP.h as well using the You can use VCPKG to install Spherical Harmonics math using the For x86/x64, DirectXMath makes use of SSE/SSE2 intrinsics. All x64 native CPUs are required to support SSE and SSE2. Windows 8.0 (32-bit) or later will not install without SSE/SSE2 support. For ARM, DirectXMath makes use of ARMv7 ARM-NEON intrinsics. All Windows on ARM devices support ARM-NEON and VFPv3. For ARM64, DirectXMath makes use of ARMv8 ARM-NEON intrinsics. ARM-NEON and VFPv4 support is required for the ARM 64 architecture. See this blog series for full details.
If you build with
If you build with
The DirectXMath library is all inline and uses only Visual C++ intrinsics. Therefore, it is compatible with all version of Windows supported by Visual C++. There's no standard configuration that will put DirectXMath in the include path when using the Details on moving from XNAMath to DirectXMath are covered in Code Migration from the XNA Math Library. Moving from the legacy D3DX9/D3DX10 D3DXMath is covered in Working with D3DXMath. DirectX has historically used row-major matrices, row vectors, pre-multiplication, and left-handed coordinates. The DirectXMath library uses row-major matrices, and offers both left-handed ( See this blog post for a detailed description of the convention choices, and the historic context for the DirectX vs. OpenGL differences in conventions. Be sure to read the Microsoft Docs details on the calling convention types which are designed to deal with the various architectures and vector calling conventions. The best way to ensure you have them correct is to attempt to build your code with x86, x64, and ARM. Officially the library is supported with Microsoft Visual C++ 2019 (16.11) or later, clang/LLVM v12 or later, and GCC 10 or later. It should also compile with the Intel C++ and MinGW compilers. When building with clang/LLVM or other GNU C compilers, the To build for non-Windows platforms, you need to provide a With GCC, the SAL annotation preprocessor symbols can conflict with the GNU implementation of the Standard C++ Library. The workaround is to include the system headers before including DirectXMath: #include <algorithm> #include <iterator> #include <utility> #include <format> // C++20 header #include <DirectXMath.h> In Visual Studio 2019, the Intel® Short Vector Library is now available as part of the Visual C++ runtime libraries. In DirectXMath 3.16 or later, I make use of this library to replace the minimax approximations of various transcendental and other math functions listed below. With the GitHub, NuGet, and VCPKG versions this is enabled automatically, but can be disabled by defining the preprocessor symbol For the x86/x64 platform, enabling the SVML makes the following DirectXMath functions into simple inline wrappers around the appropriate SVML function:
Implementation - Information on the DirectXMath coding style See the DirectX Tool Kit's SimpleMath wrapper for DirectXMath. The For questions, consider using Stack Overflow with the directxmath tag, or the DirectX Discord Server in the dx12-developers or dx9-dx11-developers channel. For bug reports and feature requests, please use GitHub issues for this project. The DirectXMath library functions are invoked by client code. While effort is made to validate parameters and arguments in code, the client code is responsible for validating any relevant user-input. For performance, much of the parameter validation is only done in debug builds with asserts. This project is subject to Microsoft's Open Source Security Policy. For a list of known vulnerabilities, see GitHub. A minisign signature file is attached to the GitHub release. To verify the signature, download the This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. Tests for new features should also be submitted as a PR to the Test Suite repository. Information on coding-style can be found here. This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments. This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies. This project currently runs on a 'single-maintainer' governance model run by Chuck Walbourn. Contributions and participation from others is encouraged, but over the years it's mostly been a solo project. The xboxmath library was originated by Matt Bronder with contributions from Sakphong Chanbai and David Hefner for the Xbox 360. The xnamath library for the DirectX SDK and Xbox XDK was the work of Chuck Walbourn and Becky Heineman based on xboxmath, with contributions from Jeremy Gup, Dan Haffner, Matt Lee, Casey Meekhof, Rich Sauer, Jason Strayer, and Xiaoyue Zheng. The DirectXMath library for the Windows SDK and Xbox One XDK is the work of Chuck Walbourn based on xnamath, with contributions from Darren Anderson, Matt Lee, Aaron Rodriguez Hernandez, Yuichi Ito, Reza Nourai, Rich Sauer, and Jason Strayer. Thanks to Dave Eberly for his contributions particularly in improving the transcendental functions. Thanks to Bruce Dawson for his help with the rounding functions. Thanks to Andrew Farrier and Ruiji-Shi for the fixes to Thanks to Scott Matloff for his help in getting the library updated to use Intel SVML for VS 2019. Thanks to Shawn Hargreaves and Nada Ouf for their continued support for this library. All content and source code for this package are subject to the terms of the MIT License. This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
DirectX Tool Kit for DirectX 11 Clone this wiki locally | |||||||||||||||||||||||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |