Generic 2D-3D math swiss army knife for game engines, with SIMD support and focus on convenience.
See the wiki for an overview, FAQ, guides, and other info.
This crate is still in its beta days!
The public API is quite close to being stable, but it hasn't been battle-tested enough.
Issues and bug reports are very welcome!
uvEnable these types. Other types are always enabled for the sake of doc-tests.
repr_simdenables Nightly Rust's
simd_ffifeatures, and unlock SIMD versions of all appropriate types (though
repr_simdmodules). On Stable, this feature has no effect.
serdemakes vectors and matrices derive
imagemakes color vectors implement the
Pixeltrait from the
x86intrinenables x86 intrinsics through the
vekdoesn't directly depend on it because it won't compile on Stable and there's no way (as of this writing) to selectively depend on a crate based on the
rustcversion, not even via build scripts.
This crate is
Low-order (quadratic and cubic) Bézier curves.
Common and trivial geometric primitives.
Operations defined by this crate, such as
Quaternions are a convenient representation for rotations in 3D spaces.
A convenient position + orientation + scale container, backed by two
Convenience structures for representing a transition from one value to another.