Lines Matching full:added
20 ### Added subsection
24 * Added "swizzle assignment" support to vector swizzles, in the form of
28 * Added `Mat3` and `Quat` `look_at_lh` and `look_at_rh` methods.
30 * Added `Quat` `look_to_lh` and `look_to_rh` methods.
32 * Added 3D vector `slerp` method that performs a spherical linear interpolation
35 * Added `manhattan_distance`, `checked_manhattan_distance` and
39 * Added 4x4 matrix `from_mat3_translation` method to have parity with the 3D
57 ### Added subsection
59 * Added `i8` and `u8` vector types, `I8Vec2`, `I8Vec3`, `I8Vec4`,
62 * Added `Mat4::project_point3a(Vec3A)` method transforming points by
88 ### Added subsection
90 * Added 3x3 matrix `from_mat4_minor()` and 2x2 matrix `from_mat3_minor()`
93 * Added `bvec2`, `bvec3`, `bvec3a`, `bvec4` and `bvec4a` vector mask creation
96 * Added all 24 possible intrinsic and extrinsic Euler angle rotation
99 * Added `is_finite_mask` method to vector types which returns a vector mask.
101 * Added `reflect` and `refract` methods to vector types.
103 * Added `to_euler` methods to matrix types which extracts Euler angles from a
106 * Added generic `map` method to vector types which applies a functor to all
120 types. These unintentionally added support for traits like `PartialOrd` to
131 ### Added subsection
133 * Added aarch64 neon support.
135 * Added `rotate_towards` methods for 2D vectors and quaternions.
137 * Added `Vec3A::from_vec4` method which can perform a no-op conversion when
148 ### Added subsection
150 * Added vector `fract_gl` which uses the GLSL specification of `fract`,
169 ### Added subsection
171 * Added `with_x`, `with_y`, etc. to vector types which returns a copy of
174 * Added `midpoint` method to vector types that returns the point between two
177 * Added `move_towards` for float vector types.
179 * Added saturating add and sub methods for signed and unsigned integer vector
182 * Added element wise sum and product methods for vector types.
184 * Added element wise absolute values method for matrix types.
186 * Added `from_array` method for boolean vector types.
188 * Added `normalize_or` method to vector types that returns the specified value
191 * Added `From<BVecN>` support for all vector types.
193 * Added `Div` and `DivAssign` by scalar implementations to matrix types.
213 ### Added subsection
215 * Added `to_angle` method to 2D vectors.
217 * Added `FloatExt` trait which adds `lerp`, `inverse_lerp` and `remap` methods
220 * Added `i16` and `u16` vector types, `I16Vec2`, `I16Vec3`, `I16Vec4`,
229 * Added the `#[must_use]` attribute to all pure functions following the
238 ### Added subsection
240 * Added `div_euclid` and `rem_euclid` to integer vector types.
242 * Added wrapping and saturating arithmetic operations to integer vector types.
244 * Added `to_scale_angle_translation` to 2D affine types.
246 * Added `mul_assign` ops to affine types.
254 ### Added subsection
259 * Added missing safe `From` conversions from `f32` vectors to `f64` vectors.
261 * Added `TryFrom` implementations between different vector types.
263 * Added `test` and `set` methods to `bool` vector types for testing and setting
266 * Added `MIN`, `MAX`, `INFINITY` and `NEG_INFINITY` vector constants.
275 ### Added subsection
277 * Added `i64` and `u64` vector types; `I64Vec2`, `I64Vec3`, `I64Vec4`,
280 * Added `length_squared` method on signed and unsigned integer vector types.
282 * Added `distance_squared` method on signed integer vector types.
303 ### Added subsection
305 * Added `copysign` method to signed vector types.
311 * Added `u32` implementation of `BVec3A` and `BVec4` when SIMD is not available.
327 ### Added subsection
329 * Added missing `Serialize`, `Deserialize` and `PartialEq` implementations.
331 * Added `Sum<Self>` and `Product<Self>` implementations for all vector, matrix
334 * Added 4x4 matrix methods `look_to_lh` and `look_to_rh`. These were previously
337 * Added `dot_into_vec` methods to vector which returns the result of the dot
340 * Added `is_negative_bitmask` to vector types which returns a `u32` of bits for
343 * Added `splat` method and `TRUE` and `FALSE` constants to all `BVec` types.
345 * Added `from_mat3a` methods to `Affine2`, `Mat2`, `Mat4` and `Quat` types.
361 ### Added subsection
363 * Added experimental `core-simd` feature which enables SIMD support via the
383 ### Added subsection
409 ### Added subsection
411 * `NEG_ONE` constant was added to all signed vector types.
413 * `NEG_X`, `NEG_Y`, `NEG_Z` and `NEG_W` negative axis vectors were added to
416 * The `rotate` and `from_angle` methods were added to `Vec2` and `DVec2`.
420 * The `from_array` `const` function was added to all vector types.
456 ### Added subsection
458 * Added `to_array()` to `Quat` and `DQuat`.
459 * Added `mul_add` method to all vector types - note that this will be slower
461 * Added the `fast-math` flag which will sacrifice some float determinism for
477 ### Added subsection
479 * Added the `from_rotation_arc_2d()` method to `Quat` and `DQuat` which will
481 * Added impl of `Neg` operator for matrix types.
482 * Added `cuda` feature which forces `glam` types to match cuda's alignment
492 * Added `repr(C)` attribute to affine types.
505 ### Added subsection
507 * Added implementations for new `IntoMint` trait from the `mint` crate.
508 * Added `mint` conversions for `Mat3A`.
509 * Added `as_vec3a` cast methods to vector types.
518 ### Added subsection
520 * Added `Not`, `Shl`, `Shr`, `BitAnd`, `BitOr` and `BitXor` implementations for
522 * Added `NAN` constant for all types.
536 ### Added subsection
538 * Added `wasm32` SIMD intrinsics support.
539 * Added optional support for the `rkyv` serialization crate.
540 * Added `Rem` and `RemAssign` implementations for all vector types.
541 * Added quaternion `xyz()` method for returning the vector part of the
543 * Added `From((Scalar, Vector3))` for 4D vector types.
565 ### Added subsection
567 * Added `serde` support for `Affine2`, `DAffine2`, `Affine3A` and `DAffine3`.
582 ### Added subsection
584 * Added `col_mut()` method which returns a mutable reference to a matrix column
586 * Added `AddAssign`, `MulAssign` and `SubAssign` implementations for all matrix
588 * Added `Add` and `Sub` implementations of scalar values for vector types.
589 * Added more `glam_assert!` checks and documented methods where they are used.
590 * Added vector projection and rejection methods `project_onto()`,
592 * Added `Mat2::from_mat3()`, `DMat2::from_mat3()`, `Mat3::from_mat4()`,
595 * Added `Mat3::from_mat2()`, `DMat3::from_mat2()`, `Mat4::from_mat3()` and
615 * Added `must_use` attribute to all `inverse()`, `normalize()`,
618 ### Added subsection
620 * Added `fract()` method to float vector types which return a vector containing
622 * Added optional support for the `approx` crate. Note that all glam types
628 ### Added subsection
630 * Added `from_cols()` methods to affine types.
631 * Added methods for reading and writing affine types from and to arrays and
635 * Added `core::fmt::Display` trait implementations for affine types.
636 * Added `core::ops::Add`, `core::ops::Mul` scalar and `core::ops::Sub` trait
638 * Added `from_array()` methods to quaternion types.
665 ### Added subsection
667 * Added `EulerRot` enum for specifying Euler rotation order and
670 * Added `Quat::to_euler()` method for extracting Euler angles.
671 * Added `Quat::from_vec4()` which is an explicit method for creating a
674 * Added `Mat3A` type which uses `Vec3A` columns. It is 16 byte aligned and
677 * Added 3D affine transform types `Affine3A` and `DAffine3`. These are more
680 * Added 2D affine transform types `Affine2` and `DAffine2`. These are more
683 * Added `Quat::from_affine3()` to create a quaternion from an affine transform
685 * Added explicit `to_array()` method to vector types to better match the matrix
706 ### Added subsection
708 * Added `AXES[]` constants to all vector types. These are arrays containing the
710 * Added quaternion `from_scaled_axis` and `to_scaled_axis` methods.
719 ### Added subsection
721 * Added vector `clamp()` functions.
722 * Added matrix column and row accessor methods, `col()` and `row()`.
723 * Added SPIR-V module and dependency on `spirv-std` for the SPIR-V target.
724 * Added matrix truncation from 4x4 to 3x3 and 3x3 to 2x2 via `From` impls.
737 `project_point3()` method was added for transforming points by perspective
747 ### Added subsection
749 * Added `Vec2::X`, `Vec4::W` etc constants as a shorter versions of `unit_x()`
751 * Added `ONE` constants for vectors.
752 * Added `IDENTITY` constants for `Mat2`, `Mat3`, `Mat4` and `Quat`.
753 * Added `ZERO` constant for vectors and matrices.
754 * Added `clamp_length()`, `clamp_length_max()`, and `clamp_length_min` methods
756 * Added `try_normalize()` and `normalize_or_zero()` for all real vector types.
757 * Added `from_diagonal()` methods to all matrix types for creating diagonal
759 * Added `angle_between()`, `from_rotation_arc()` and
761 * Added quaternion `inverse()` which assumes the quaternion is already
763 * Added `from_translation()` and `from_angle()` methods to 3x3 matrix types.
764 * Added `project_point3()` method to 4x4 matrix types. This method is for
766 * Added `Eq` and `Hash` impls for integer vector types.
781 ### Added subsection
783 * Added `f64` primitive type support
787 * Added `i32` primitive type support
789 * Added `u32` primitive type support
791 * Added `bool` primitive type support
804 ### Added subsection
806 * Added `From<(Vec2, f32)>` for `Vec3` and `From<(Vec3, f32)` for `Vec4`.
816 ### Added subsection
818 * Added support for the [Rust GPU](https://github.com/EmbarkStudios/rust-gpu)
823 ### Added subsection
825 * Added `is_finite` method to all types which returns `true` if, and only if,
827 * Added `exp` and `powf` methods for all vector types.
835 * Don't use the `cfg` definitions added by `build.rs` for defining structs as
853 ### Added subsection
855 * Added the `Vec2::perp` method which returns a `Vec2` perpendicular to `self`.
882 ### Added subsection
884 * Added `From` implementations to truncate to narrower vector types, e.g.
886 * Added swizzles for `Vec4`, `Vec3A`, `Vec3` and `Vec2`. These can be used to
889 * Added `Quat` operators `Add<Quat>`, `Sub<Quat>`, `Mul<f32>` and `Div<f32`.
893 * Added `Mat4::transform_point3a` and `Mat4::transform_vector3a`.
894 * Added `AsRef<[f32; 9]>` and `AsMut<[f32; 9]>` trait implementations to `Mat3`.
895 * Added optional `bytemuck` support primarily for casting types to `&[u8]`.
896 * Added support for compiling with `no_std` by disabling the default `std`
898 * Added `distance` and `distance_squared` methods to `Vec2`, `Vec3`, `Vec3A`
903 ### Added subsection
907 functions have been added to support creating `const` values of `glam` types:
910 * Added `is_nan` methods to `Vec2`, `Vec3`, `Vec3A` and `Vec4` which return a
921 * Added SSE2 optimized implementations of `Mat4::determinant` and
939 ### Added subsection
941 * Added `Mat4::perspective_rh`.
945 ### Added subsection
947 * Added `Mat3::mul_vec3a` and `Quat::mul_vec3a`.
955 ### Added subsection
957 * Added `Mat3 * Vec3A` implementation.
958 * Added `Vec3A` benches.
966 ### Added subsection
972 * Added `mut` column accessors to all matrix types, e.g. `Mat2::x_axis_mut()`.
973 * Added `From` trait implementations for `Vec3AMask` and `Vec4Mask` to `__m128`.
986 ### Added subsection
988 * Added `Quat::slerp` - note that this uses a `sin` approximation.
989 * Added `angle_between` method for `Vec2` and `Vec3`.
992 * Added conversion functions from `Vec2Mask`, `Vec3Mask` and `Vec4Mask` to an
994 * Added `build.rs` to simplify conditional feature compilation.
1006 ### Added subsection
1008 * Added the `packed-vec3` feature flag to disable using SIMD types for `Vec3`
1011 * Added `x_mut`, `y_mut`, `z_mut`, `w_mut` where appropriate to `Vec2`, `Vec3`
1013 * Added implementation of `core::ops::Index` and `core::ops::IndexMut` for
1023 ### Added subsection
1025 * Added projection functions `Mat4::perspective_lh`,
1028 * Added `round`, `ceil` and `floor` methods to `Vec2`, `Vec3` and `Vec4`.
1032 ### Added subsection
1034 * Added `Mat4::to_scale_rotation_translation` for extracting scale, rotation and
1036 * Added `cargo-deny` GitHub Action.
1044 ### Added subsection
1046 * Added `Mat4::orthographic_rh_gl`.
1057 * Added missing `#[repr(C)]` to `Mat2`, `Mat3` and `Mat4`.
1080 ### Added subsection
1082 * Added `Display` trait implementations for `Mat2`, `Mat3` and `Mat4`.
1096 method added which is used by unit tests for approximate floating point
1106 required for benchmarking but a simple random number generator has been added
1123 ### Added subsection
1125 * Added support for building infinite projection matrices, including both
1128 * Added `Vec2Mask::new`, `Vec3Mask::new` and `Vec4Mask::new` methods.
1131 * Added method documentation for `Vec4` and `Vec4Mask` types.
1132 * Added missing `serde` implementations for `Mat2`, `Mat3` and `Mat4`.
1143 ### Added subsection
1145 * Added the `glam_assert` macro which behaves like Rust's `debug_assert` but
1148 * Added `is_normalized` method to `Vec2`, `Vec3` and `Vec4`.
1159 * Added `Default` support to `VecNMask` types, will add more common traits in
1161 * Added `#[inline]` to `mat2`, `mat3` and `mat4` functions.
1165 ### Added subsection
1167 * Added `Mat2` into `[f32; 4]`, `Mat3` into `[f32; 9]` and `Mat4` into