C++17 constexpr, SIMD-aware math library for games
- Types
- Vector 2/3/4
- Matrix up to 4x4
- Quaternion
- Point, rectangle, circle
- Box, sphere, cylinder
- Plane
- OBB, AABB
- Frustum
- Properties (priority sorted)
- Generated
- Configurable like GLAD with options:
- Header-only
- Single-header/many headers
- Shared/static library
- Each scalar C++ type as an option (int/short/unsigned int/float/double/long double/etc)
- SIMD
- Run-time SIMD evaluation
- Compile-time evaluation (constexpr support)
- Precise/approximated math
- Swizzles (like in hlsl/glsl)
- Left/right handed
- Header-only
- Configurable like GLAD with options:
- Compatible with C++20/C++23/C++26 standard library improvements
- HLSL/GLSL compatible
- Memory layout compatible
- C support
- At least memory layout compatible, use same types for C and C++ if possible.
- Generated
- https://github.com/redorav/hlslpp
- https://github.com/g-truc/glm
- https://github.com/kthohr/gcem
- https://github.com/Morwenn/static_math
- https://github.com/nfrechette/rtm
- https://github.com/valentingalea/vml
- https://github.com/gwiazdorrr/CxxSwizzle
- https://github.com/yandex/fastops
- https://github.com/google/mathfu
- https://github.com/davideberly/GeometricTools
- https://github.com/jtsiomb/gph-math
- https://github.com/dangmoody/HLML
- https://github.com/demianmnave/CML
- https://github.com/andersx/libsimdmath
- https://github.com/ebassi/graphene
- https://github.com/google/highway
- https://github.com/simd-everywhere/simde
- https://github.com/xtensor-stack/xsimd
- https://github.com/p12tic/libsimdpp
- https://github.com/jfalcou/eve
- https://github.com/gnuradio/volk
- https://github.com/jeffamstutz/tsimd