All Versions
51
Latest Version
Avg Release Cycle
26 days
Latest Release
939 days ago

Changelog History
Page 4

  • v0.10.1 Changes

    November 15, 2020

    โž• Added

    • โž• Added the Vec2::perp method which returns a Vec2 perpendicular to self.

    ๐Ÿ”„ Changed

    • Vec2 and Vec3 types were changed to use public named fields for .x, .y, and .z instead of accessors.
    • Quat, Vec3A and Vec4 implement Deref and DerefMut for the new XYZ and XYZW structs to emulate public named field access.
    • Mat3 and Mat4 had their axis members made public instead of needing accessors.
    • Mat2 implements Deref and DerefMut for the new XYAxes struct to emulate public named field access.

    โœ‚ Removed

    • โœ‚ Removed deprecated length_reciprocal and sign methods.

    ๐Ÿ›  Fixed

    • โž• Adding glam as a no_std dependency should now work as expected.
  • v0.10.0 Changes

    October 31, 2020

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿ”„ Changed the return type of Vec4::truncate from Vec3A to Vec3.

    โž• Added

    • โž• Added From implementations to truncate to narrower vector types, e.g. Vec4 to Vec3A, Vec3 and Vec2 and from Vec3A and Vec3 to Vec2.
    • โž• Added swizzles for Vec4, Vec3A, Vec3 and Vec2. These can be used to reorder elements in the same type and also to create larger or smaller vectors from the given vectors elements.
    • โž• Added Quat operators Add<Quat>, Sub<Quat>, Mul<f32> and Div<f32. These are used by other crates for interpolation quaternions along splines. Note that these operations will not return unit length quaternions, thus the results must be normalized before performing other Quat operations.
    • Added Mat4::transform_point3a and Mat4::transform_vector3a.
    • โž• Added AsRef<[f32; 9]> and AsMut<[f32; 9]> trait implementations to Mat3.
    • โž• Added optional bytemuck support primarily for casting types to &[u8].
    • โž• Added support for compiling with no_std by disabling the default std feature and adding the libm feature.
    • โž• Added distance and distance_squared methods to Vec2, Vec3, Vec3A and Vec4.
  • v0.9.5 Changes

    October 10, 2020

    โž• Added

    • glam uses SSE2 for some types which prevents constructor functions can not be made const fn. To work around this limitation the following macro functions have been added to support creating const values of glam types: const_mat2, const_mat3, const_mat4, const_quat, const_vec2, const_vec3, const_vec3a and const_vec4.
    • โž• Added is_nan methods to Vec2, Vec3, Vec3A and Vec4 which return a mask.
  • v0.9.4 Changes

    August 31, 2020

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed Mat4::transform_point3 to account for homogeneous w coordinate. Previously this would have been incorrect when the resulting homogeneous coordinate was not 1.0, e.g. when transforming by a perspective projection.
    • ๐Ÿ›  Fixed Mat3::transform_point2 to account for homogeneous z coordinate.
  • v0.9.3 Changes

    August 11, 2020

    โž• Added

    • โž• Added Mat4::perspective_rh.
  • v0.9.2 Changes

    July 09, 2020

    โž• Added

    • Added Mat3::mul_vec3a and Quat::mul_vec3a.

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Changed Quat::mul_vec3 to accept and return Vec3 instead of Vec3A.
  • v0.9.1 Changes

    July 01, 2020

    โž• Added

    • โž• Added Mat3 * Vec3A implementation.
    • โž• Added Vec3A benches.

    ๐Ÿ”„ Changed

    • ๐Ÿ“š Some documentation improvements around the new Vec3A type.
  • v0.9.0 Changes

    June 28, 2020

    โž• Added

    • Vec3 has been split into scalar Vec3 and 16 byte aligned Vec3A types. Only the Vec3A type currently uses SIMD optimizations.
    • Vec3Mask has been split into scalar Vec3Mask and 16 byte aligned Vec3AMask types.
    • Added mut column accessors to all matrix types, e.g. Mat2::x_axis_mut().
    • โž• Added From trait implementations for Vec3AMask and Vec4Mask to __m128.

    ๐Ÿ”„ Changed

    • The Mat3 type is using the scalar Vec3 type for storage.
    • Simplified Debug trait output for Quat, Vec4 and Vec3A.
  • v0.8.7 Changes

    April 28, 2020

    โž• Added

    • โž• Added Quat::slerp - note that this uses a sin approximation.
    • โž• Added angle_between method for Vec2 and Vec3.
    • Implemented Debug, Display, PartialEq, Eq, PartialOrd, Ord, Hash, and AsRef traits for Vec2Mask, Vec3Mask and Vec4Mask.
    • โž• Added conversion functions from Vec2Mask, Vec3Mask and Vec4Mask to an array of [u32].
    • โž• Added build.rs to simplify conditional feature compilation.

    ๐Ÿ”„ Changed

    • โœ… Increased test coverage.

    โœ‚ Removed

    • โœ‚ Removed cfg-if dependency.
  • v0.8.6 Changes

    February 18, 2020

    โž• Added

    • โž• Added the packed-vec3 feature flag to disable using SIMD types for Vec3 and Mat3 types. This avoids wasting some space due to 16 byte alignment at the cost of some performance.
    • Added x_mut, y_mut, z_mut, w_mut where appropriate to Vec2, Vec3 and Vec4.
    • โž• Added implementation of core::ops::Index and core::ops::IndexMut for Vec2, Vec3 and Vec4.

    ๐Ÿ”„ Changed

    • ๐Ÿ”€ Merged SSE2 and scalar Vec3 and Vec4 implementations into single files using the cfg-if crate.