Crates.io | siege-math |
lib.rs | siege-math |
version | 0.5.1 |
source | src |
created_at | 2018-05-04 00:28:47.904322 |
updated_at | 2018-05-11 22:04:53.932665 |
description | Math library for the Siege Engine |
homepage | |
repository | https://github.com/SiegeEngine/siege-math |
max_upload_size | |
id | 63674 |
size | 94,492 |
Documentation is available at https://docs.rs/siege-math
siege-math is a component within the Siege Engine MMO game engine.
The Siege Engine is an MMO game engine on the Vulkan API written in the Rust language.
siege-math provides primitives for Angle, Vector (including Direction and Point variants), Matrix, Quaternion, and Position types defined over any floating point type.
siege-math was developed in response to several other math crates (cgmath and nalgebra) going in directions slightly adverse to our usage. As a math library is actually a rather small thing, we were not too fussed about creating a new one.
cgmath and nalgebra are much better math crates. I would not recommending using this crate. I intend to move off of it myself.
SIMD is not yet available in stable rust. RFC 2366 (https://github.com/rust-lang/rfcs/pull/2366) is the latest in the chain of work to make that happen. Once it (or something like it) lands in stable rust, we can refactor to make use of SIMD for a significant performance increase. In the meantime, there is a crate "simd" and another "fake-simd" that might be useful for getting started.