Skip to content

Xeyday/math

Repository files navigation

xeyday.math

C++17 constexpr, SIMD-aware math library for games

Ideas/roadmap

  • 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
          • Precise math should IEEE-754 be compliant
          • Control precision/approximation control via tags (that are arguments to functions) or via qualifier like in glm?
        • Swizzles (like in hlsl/glsl)
        • Left/right handed
    • 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.

Libraries to look at to get inspiration and ideas

SIMD

Generators

About

C++17 constexpr, SIMD-aware math library for games

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published