Extensions for glam: Pose2, Pose3, Rot2, SVD, eigendecomposition, and matrix utilities.
glamx provides additional types commonly needed in game development, robotics, and computer graphics that aren't included in glam:
Rot2/DRot2: 2D rotations represented as unit complex numbersRot3/DRot3: 3D rotations (re-exports of glam's quaternions)Pose2/DPose2: 2D rigid body transformations (rotation + translation)Pose3/DPose3: 3D rigid body transformations (rotation + translation)MatExt: Extension trait for glam matrix typesSymmetricEigen2/SymmetricEigen3: Eigendecomposition for symmetric matricesSvd2/Svd3: Singular Value Decomposition for 2x2 and 3x3 matrices
This crate re-exports all of glam's types, so you can use it as a drop-in replacement.
| Feature | Description |
|---|---|
std (default) |
Enables standard library support |
serde |
Enables serialization via serde |
bytemuck |
Enables bytemuck derives for Rot2/DRot2 |
nalgebra |
Enables conversions to/from nalgebra types |
libm |
Uses libm for no_std math operations |
approx |
Enables approximate comparison traits |
rand |
Enables random generation support |
mint |
Enables mint type conversions |
encase |
Enables encase encoding |
glamx is no_std compatible. Disable default features and enable libm for math operations:
[dependencies]
glamx = { version = "0.1", default-features = false, features = ["libm"] }Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.