- Update
projection
module's and submodules' documentation - Remove
rh_ydown
projection module as it was very unlikely to be useful and caused confusion. - Add
mint
type conversions for integer vectors - Implement Serialize and Deserialize for
Similarity
- Implement Serialize and Deserialize for f64 types:
DBivec
,DRotor
,DIsometry
,DSimilarity
- Add type conversion between
mint
quaternion andRotor3
- Add
num_traits::identities
support behind anum-traits
feature flag - Fix inverse for similarities
- Fix missing
mut
inMat4::as_mut_array
result
- Fix
from_euler_angles
onMat4
- Update documentation on matrix rotation constructors
- Update some documentation and improve implementation on
as_array
methods on various types
- Add methods to scale
Rotor3
- Implement
Neg
for allIVec
types - Relax bound in
map
andapply
fromFn
toFnMut
- Make matrix serialization and deserialization implementations match
- Update
wide
to0.7.x
- Implement Serialize and Deserialize for all
UVec
,IVec
,DVec
,DMat
types (underserde
,int
andf64
feature flags) - Implement conversions between integer and float vectors.
- Add
#[must_use]
attributes on.normalized
methods to help prevent silent logic bugs when.normalize()
would have been more appropriate. - Build docs.rs docs with all features.
- Update
wide
to0.6.x
- Add
Rotor3::into_angle_plane()
- Add
Rotor3::into_quaternion_array
andRotor3::from_quaternion_array
- Implement Serialize and Deserialize for
Isometry2
andIsometry3
(underserde
feature flag) - Added
const
tonew
functions for integer vectors. - Add
Mat4::truncate()
- Add
Mul<Scalar>
andAdd<Self>
for isometries and similarities
- Add
Mat4::extract_translation
,Mat4::extract_rotation
andMat4::into_isometry
. - Add missing
PartialEq
implementations for all matrices, transformations, vectors, bivectors and rotors, including SIMD andf64
variants - Fix
Rotor2::rotate_vec
and corresponding derivation.
- Add optional bytemuck support
- Fix integer types not compiling properly.
- Implement Serialize and Deserialize for bivectors and rotors (under
serde
feature flag)
- Fix typo in
Mat3::inverse
implementation which made it transpose instead
- Add Mat3 into Rotor3 conversion for rotation matrices
- Remove heavy reliance on
mul_add
due to negligible performance benefit and in many cases performance detriment. - Slightly optimize Vector
normalize
. Rotor2::from_angle_plane()
now takes plane and angle as separate arguments.- Add
MatN::adjugate()
. Mat3::from_nonuniform_scale_homogeneous()
now takes aVec2
instead of aVec3
.
- Add scalar multiplication and componentwise addition for
MatN
- Significantly improve performance of Rotors and transform types (Isometry, Similarity)
- Add
Rotor3::rotate_vecs()
for improved performance on rotating multiple vecs with the same rotor - Add support for f64/double precision floats under
f64
feature. Naming convention isD[TypeName]
for the f64 versions. - Rename
W[TypeName]
to[TypeName]x4
, allowing room for[TypeName]x8
. - Add support for 256 bit AVX vectors.
- Add support for
mint
for scalar types - Add
wgpu
-specfic notes toprojection
module (adds_wgpu
to some function names) - Add spherical linear interpolation and better docs around interpolation
- Rename
[WideType]::merge()
to[WideType]::blend()
- Add
Into<Vec2; N> for Vec2xN
implementations - Fix some doc comments not appearing properly on Vec and Mat types.
- Make most initializers
const
- Various performance improvements, especially for Rotor-transform-vector and some matrix operations
- Add
MatN::determinant()
- Add
Mat2::inverse()