directx_math

Crates.iodirectx_math
lib.rsdirectx_math
version0.2.2
sourcesrc
created_at2020-04-18 23:05:51.372846
updated_at2021-04-24 13:31:31.723806
descriptionA rust translation of DirectXMath, a SIMD linear algebra library for use in games and graphics apps.
homepage
repositoryhttps://github.com/aloucks/directx_math
max_upload_size
id231704
size1,037,695
(aloucks)

documentation

README

crates.io docs.rs tests

DirectXMath for Rust

A rust translation of DirectXMath, a SIMD linear algebra library for use in games and graphics apps.

✔️ = Implemented, ❌ = Not yet implemented, 🚧 = In progress

Implementation status

API Feature Implemented
Vector ✔️
Vector 2D ✔️
Vector 3D ✔️
Vector 4D ✔️
Quaternion ✔️
Matrix ✔️
Streaming Transforms
Color
Load/Store/Accessors ✔️ †
Plane ✔️
Collision ✔️
Documentation ✔️ ††

† Some alternate forms of the load/store operations are not yet implemented.

†† Most documentation has been ported and all functions have links to the official DirectXMath documentation.

SIMD intrinsics

x86 / x86_64 ARM No intrinsics fallback
✔️ ❌ (will fallback to no-intrinsics) ✔️

Intrinsics may be disabled with the no_intrinsics feature. This is the implicit behavior if SIMD intrinsics are not available on the target architecture.

Note that only sse and sse2 are enabled by default for x86 and x86-64 targets. The sse3, sse4.1, avx, f16c, fma, and avx2 intrinsics may be enabled via CPU target features.

Example: enable all x86_64 intrinsics

RUSTFLAGS="-C target-feature=+sse3,+sse4.1,+avx,+f16c,+fma,+avx2" cargo build

License

Commit count: 168

cargo fmt