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

Changelog History
Page 5

  • v0.8.5 Changes

    January 02, 2020

    ➕ Added

    • ➕ Added projection functions Mat4::perspective_lh, Mat4::perspective_infinite_lh, Mat4::perspective_infinite_reverse_lh, Mat4::orthgraphic_lh and Mat4::orthographic_rh.
    • ➕ Added round, ceil and floor methods to Vec2, Vec3 and Vec4.
  • v0.8.4 Changes

    December 17, 2019

    ➕ Added

    • Added Mat4::to_scale_rotation_translation for extracting scale, rotation and translation from a 4x4 homogeneous transformation matrix.
    • ➕ Added cargo-deny GitHub Action.

    🔄 Changed

    • 📇 Renamed Quat::new to Quat::from_xyzw.
  • v0.8.3 Changes

    November 27, 2019

    ➕ Added

    • Added Mat4::orthographic_rh_gl.

    🔄 Changed

    • Renamed Mat4::perspective_glu_rh to Mat4::perspective_rh_gl.
    • SSE2 optimizations for Mat2::determinant, Mat2::inverse, Mat2::transpose, Mat3::transpose, Quat::conjugate, Quat::lerp, Quat::mul_vec3, Quat::mul_quat and Quat::from_rotation_ypr.
    • Disabled optimizations to Mat4::transform_point3 and Mat4::transform_vector3 as they are probably incorrect and need investigating.
    • ➕ Added missing #[repr(C)] to Mat2, Mat3 and Mat4.
    • 👍 Benchmarks now store output of functions to better estimate the cost of a function call.

    ✂ Removed

    • ✂ Removed deprecated functions Mat2::new, Mat3::new and Mat4::new.
  • v0.8.2 Changes

    November 06, 2019

    🔄 Changed

    • 🏗 glam_assert! is no longer enabled by default in debug builds, it can be enabled in any configuration using the glam-assert feature or in debug builds only using the debug-glam-assert feature.

    ✂ Removed

    • glam_assert!'s checking lerp is bounded between 0.0 and 1.0 and that matrix scales are non-zero have been removed.
  • v0.8.1 Changes

    November 03, 2019

    ➕ Added

    • ➕ Added Display trait implementations for Mat2, Mat3 and Mat4.

    🔄 Changed

    • Disabled glam's SSE2 sin_cos implementation - it became less precise for large angle values.
    • ⬇️ Reduced the default epsilon used by the is_normalized! macro from std::f32::EPSILON to 1e-6.
  • v0.8.0 Changes

    October 14, 2019

    ✂ Removed

    • Removed the approx crate dependency. Each glam type has an abs_diff_eq method added which is used by unit tests for approximate floating point comparisons.
    • ✂ Removed the Angle type. All angles are now f32 and are expected to be in radians.
    • ✂ Removed the deprecated Vec2b, Vec3b and Vec4b types and the mask methods on Vec2Mask, Vec3Mask and Vec4Mask.

    🔄 Changed

    • 🚚 The rand crate dependency has been removed from default features. This was required for benchmarking but a simple random number generator has been added to the benches support module instead.
    • The From trait implementation converting between 1D and 2D f32 arrays and matrix types have been removed. It was ambiguous how array data would map to matrix columns so these have been replaced with explicit methods from_cols_array and from_cols_array_2d.
    • Matrix new methods have been renamed to from_cols to be consistent with the other methods that create matrices from data.
    • Renamed Mat4::perspective_glu to Mat4::perspective_glu_rh.
  • v0.7.2 Changes

    September 22, 2019

    🛠 Fixed

    • Fixed incorrect projection matrix methods Mat4::look_at_lh and Mat4::look_at_rh.

    ➕ Added

    • ➕ Added support for building infinite projection matrices, including both standard and reverse depth Mat4::perspective_infinite_rh and Mat4::perspective_infinite_rh.
    • ➕ Added Vec2Mask::new, Vec3Mask::new and Vec4Mask::new methods.
    • Implemented std::ops BitAnd, BitAndAssign, BitOr, BitOrAssign and Not traits for Vec2Mask, Vec3Mask and Vec4Mask.
    • ➕ Added method documentation for Vec4 and Vec4Mask types.
    • ➕ Added missing serde implementations for Mat2, Mat3 and Mat4.
    • ⚡️ Updated rand and criterion versions.
  • v0.7.1 Changes

    July 08, 2019

    🛠 Fixed

    • The SSE2 implementation of Vec4 dot was missing a shuffle, meaning the dot, length, length_squared, length_reciprocal and normalize methods were sometimes incorrect.

    ➕ Added

    • Added the glam_assert macro which behaves like Rust's debug_assert but can be enabled separately to debug_assert. This is used to perform asserts on correctness.
    • ➕ Added is_normalized method to Vec2, Vec3 and Vec4.

    🔄 Changed

    • Replaced usage of std::mem::uninitialized with std::mem::MaybeUninit. This change requires stable Rust 1.36.
    • 📇 Renamed Vec2b to Vec2Mask, Vec3b to Vec3Mask and Vec4b to Vec4Mask. Old names are aliased to the new name and deprecated.
    • 🗄 Deprecate VecNMask mask method, use new bitmask method instead
    • Made fallback version of VecNMask types the same size and alignment as the SIMD versions.
    • ➕ Added Default support to VecNMask types, will add more common traits in the future.
    • ➕ Added #[inline] to mat2, mat3 and mat4 functions.
  • v0.7.0 Changes

    June 28, 2019

    ➕ Added

    • ➕ Added Mat2 into [f32; 4], Mat3 into [f32; 9] and Mat4 into [f32; 16].

    ✂ Removed

    • ✂ Removed impl Mul<&Vec2> for Mat2 and impl Mul<&Vec3> for Vec3 as these don't exist for any other types.
  • v0.6.1 Changes

    June 22, 2019

    🔄 Changed

    • 🐎 Mat2 now uses a Vec4 internally which gives it some performance improvements when SSE2 is available.