All Projects → microsoft → Directxmath

microsoft / Directxmath

Licence: mit
DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps

Projects that are alternatives of or similar to Directxmath

Simde
Implementations of SIMD instruction sets for systems which don't natively support them.
Stars: ✭ 1,012 (+17.81%)
Mutual labels:  simd, sse, neon, avx2, avx
Boost.simd
Boost SIMD
Stars: ✭ 238 (-72.29%)
Mutual labels:  simd, sse, neon, avx2, avx
Simd
C++ image processing and machine learning library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM.
Stars: ✭ 1,263 (+47.03%)
Mutual labels:  simd, sse, neon, avx2, avx
Unisimd Assembler
SIMD macro assembler unified for ARM, MIPS, PPC and x86
Stars: ✭ 63 (-92.67%)
Mutual labels:  simd, sse, neon, avx2, avx
Directxtk
The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++
Stars: ✭ 1,918 (+123.28%)
Mutual labels:  microsoft, xbox, directx, uwp, desktop
Quadray Engine
Realtime raytracer using SIMD on ARM, MIPS, PPC and x86
Stars: ✭ 13 (-98.49%)
Mutual labels:  simd, sse, neon, avx2, avx
Directxmesh
DirectXMesh geometry processing library
Stars: ✭ 447 (-47.96%)
Mutual labels:  microsoft, xbox, directx, uwp, desktop
Vc
SIMD Vector Classes for C++
Stars: ✭ 985 (+14.67%)
Mutual labels:  simd, sse, neon, avx2, avx
Directxtk12
The DirectX Tool Kit (aka DirectXTK12) is a collection of helper classes for writing DirectX 12 code in C++
Stars: ✭ 765 (-10.94%)
Mutual labels:  microsoft, xbox, directx, uwp, desktop
cpuwhat
Nim utilities for advanced CPU operations: CPU identification, ISA extension detection, bindings to assorted intrinsics
Stars: ✭ 25 (-97.09%)
Mutual labels:  avx, sse, simd, avx2
Base64simd
Base64 coding and decoding with SIMD instructions (SSE/AVX2/AVX512F/AVX512BW/AVX512VBMI/ARM Neon)
Stars: ✭ 115 (-86.61%)
Mutual labels:  simd, sse, neon, avx2
Nsimd
Agenium Scale vectorization library for CPUs and GPUs
Stars: ✭ 138 (-83.93%)
Mutual labels:  simd, neon, avx2, avx
oversimple
A library for audio oversampling, which tries to offer a simple api while wrapping HIIR, by Laurent De Soras, for minimum phase antialiasing, and r8brain-free-src, by Aleksey Vaneev, for linear phase antialiasing.
Stars: ✭ 25 (-97.09%)
Mutual labels:  neon, avx, sse, simd
Umesimd
UME::SIMD A library for explicit simd vectorization.
Stars: ✭ 66 (-92.32%)
Mutual labels:  simd, neon, avx2, avx
Mipp
MIPP is a portable wrapper for SIMD instructions written in C++11. It supports NEON, SSE, AVX and AVX-512.
Stars: ✭ 253 (-70.55%)
Mutual labels:  simd, sse, neon, avx
Libxsmm
Library for specialized dense and sparse matrix operations, and deep learning primitives.
Stars: ✭ 518 (-39.7%)
Mutual labels:  simd, sse, avx2, avx
Fastnoisesimd
C++ SIMD Noise Library
Stars: ✭ 542 (-36.9%)
Mutual labels:  simd, sse, neon, avx2
Directx Vs Templates
Direct3D Visual Studio Templates
Stars: ✭ 205 (-76.14%)
Mutual labels:  clang, xbox, uwp, desktop
Std Simd
std::experimental::simd for GCC [ISO/IEC TS 19570:2018]
Stars: ✭ 275 (-67.99%)
Mutual labels:  simd, sse, neon, avx
Simdjson
Parsing gigabytes of JSON per second
Stars: ✭ 15,115 (+1659.6%)
Mutual labels:  clang, simd, neon, avx2

DirectX Logo

DirectXMath

https://github.com/Microsoft/DirectXMath

Copyright (c) Microsoft Corporation.

January 2021

This package contains the DirectXMath library, an all inline SIMD C++ linear algebra library for use in games and graphics apps.

This code is designed to build with Visual Studio 2017, Visual Studio 2019, or clang/LLVM for Windows. It is recommended that you make use of the latest updates (VS 2017 15.9, or VS 2019 16.4 or later).

These components are designed to work without requiring any content from the legacy DirectX SDK. For details, see Where is the DirectX SDK?.

Directory Layout

  • Inc\

    • DirectXMath Files (in the DirectX C++ namespace)

      • DirectXMath.h - Core library
      • DirectXPackedVector.h - Load/Store functions and types for working with various compressed GPU formats
      • DirectXColors.h - .NET-style Color defines in sRGB color space
      • DirectXCollision.h - Bounding volume collision library
  • Extentions\

    • Advanced instruction set variants for guarded codepaths

      • DirectXMathSSE3.h - SSE3
      • DirectXMathBE.h - Supplemental SSE3 (SSSE3)
      • DirectXMathSSE4.h - SSE4.1
      • DirectXMathAVX.h - Advanced Vector Extensions (AVX)
      • DirectXMathAVX2.h - Advanced Vector Extensions 2 (AVX2)
      • DirectXMathF16C.h - Half-precision conversions (F16C)
      • DirectXMathFMA3.h - Fused multiply-accumulate (FMA3)
      • DirectXMathFMA4.h - Fused multiply-accumulate (FMA4)
  • SHMath\

    • Spherical Harmonics math functions

      • DirectXSH.h - Header for SHMath functions
      • DirectXSH.cpp, DirectXSHD3D11.cpp, DirectXSHD3D12.cpp - Implementation
  • XDSP\

    • XDSP.h - Digital Signal Processing helper functions

Documentation

Documentation is available on the Microsoft Docs. Additional information can be found on the project wiki.

Compiler support

Officially the library is supported with Microsoft Visual C++ and clang/LLVM. It should also compile with the Intel C++ compiler, GCC, and MinGW compilers.

To build for non-Windows platforms, you need to provide a sal.h header in your include path. You can obtain an open source version from GitHub.

Notices

All content and source code for this package are subject to the terms of the MIT License.

For the latest version of DirectXMath, bug reports, etc. please visit the project site on GitHub.

Contributing

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.

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.

Trademarks

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].