NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #910 most downloaded on crates.io
General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices.
Last release 4 months ago
24 May 2026
Release timing varies
gaps range from 2 weeks to 9 months
Most releases are documented
notes for 39 of the last 60 stable releases
6 versions withdrawn
withdrawn after publishing
12 years old
124 releases · first in 2014
Release nalgebra-glm, -lapack, and -sparse
Release nalgebra-glm, -lapack, and -sparse
LBLT) via the new Matrix::lblt method #1591.OneNorm and the Matrix::one_norm method computing the induced matrix 1-norm (maximum absolute column sum) #1591.convert-glam033 feature to enable conversion from/to types from glam v0.33.simba dependency to 0.10.rand dependency to 0.10 and rand_distr to 0.6.convert-glamXXX features for all glam versions prior to 0.30 #1598.EuclideanNorm is the Frobenius norm for matrices, LpNorm/UniformNorm are entrywise, not induced matrix norms #1591.nalgebra-lapack: updated thiserror to 2.0.T: Sync bound on impl Send for ViewStorage so view storages can be sent across threads when T: Send #1581.One column per quarter.
Add convert-glam031 and convert-glam032 features for conversion from/to glam v0.31 and v0.32 #1597.
convert-glam031 and convert-glam032 features for conversion from/to glam v0.31 and v0.32 #1597.SymmetricEigen routine #1210.glam in no_std environments #1555.Matrix::abs_diff_eq #1568.Release v0.34.1
Release v0.34.1 (#1546)
encase feature, providing encase trait implementations for nalgebra types.Add the convert-glam030 feature to enable conversion from/to types from glam v0.30.
convert-glam030 feature to enable conversion from/to types from glam v0.30.defmt cargo feature that enables derives of defmt::Format for all no-std types.DimName::USIZE to DimName::DIM.const whenever possible. See details in #1522.glam (such as convert-glam029) no longer enable default features for
glam, allowing use in no_std environments.Co-authored-by: Willow Black wmcblack@gmail.com
Co-authored-by: Willow Black wmcblack@gmail.com
Release v0.33.2
Release v0.33.2 (#1457)
convert-glam029 feature to enable conversion from/to types from glam v0.29.Add implementations of bytemuck traits for isometries and similarities.
bytemuck traits for isometries and similarities.AsRef<[T]> for matrices with contiguous storage.num-complex/bytemuck feature when the convert-bytemuck feature is enabled.Fix a memory leak in Matrix::generic_resize.
Matrix::generic_resize.glm::is_null to check the vector magnitude instead of individual components.glam-0.28 feature to enable conversion from/to types from glam v0.28.stack! macro for concatenating matrices. See #1375.cuda feature has been removed, as the toolchain it depends on is long abandoned.simba 0.9. See the changelog of simba for
details.nalgebra-macros crate to syn 2.0.T from the Allocator trait parameters. Instead of Allocator<T, R, C>, use the simpler
Allocator<R, C>.Add the glam-0.27 feature to enable conversion from/to types from glam v0.27.
glam-0.27 feature to enable conversion from/to types from glam v0.27.Nothing published for this version
Add the glam-0.25 feature to enable conversion from/to types from glam v0.25.
glam-0.25 feature to enable conversion from/to types from glam v0.25.Statically sized matrices are now serialized as tuples to match how serde serialized plain arrays.
Scalar for matrix PartialEq and Eq.vector!, matrix!, point!, etc.Matrix1::as_scalar, ::as_scalar_mut, ::to_scalar, ::into_scalar.Rotation3::euler_angles_ordered, a generalized euler angles calculation.glam-0.24 feature to enable conversion from/to types from glam v0.24.glam-0.25 feature to enable conversion from/to types from glam v0.25.lerp method to points.Clone for MatrixIter.Add the glam-0.23 to enable conversion from/to type from glam v0.23.
glam-0.23 to enable conversion from/to type from glam v0.23.Updated nalgebra-macros to use the new Dyn, avoiding macro-generated deprecation warnings.
nalgebra-macros to use the new Dyn, avoiding macro-generated deprecation warnings.Deprecated all the types involving Slice in its name, in favor of the word View.
MatrixSlice types to MatrixView. In general all occurrences of the world Slice or slice have been
replaced by View or view.Slice in its name, in favor of the word View.nalgebra objects archive as themselves (when using rkyv for serialization).Dynamic to Dyn and make Dyn a tuple struct.Cholesky::ln_determinant to compute the natural logarithm of the determinant of a matrix decomposed
with Cholesky. This can be more numerically stable than computing the determinant itself when very small and/or
large values are involved.Matrix::as_view and Matrix::as_view_mut, which are very useful when working with view-based
APIs.rayon: Matrix::par_column_iter and Matrix::par_column_iter_mut. The rayon
feature must be enabled to access these methods.ReshapableStorage for matrix slices (only for unit strides at the moment).U0, U1, … constants alongside the U0, U1, … types. This lets us write U4 instead of U4::name() or
Const::<4> when we need const dimensions.Rotation3::euler_angles to return the angles in the documented order (roll, pitch, yaw).Add a convert-glam022 feature to enable conversion between nalgebra and glam v0.22.
convert-glam022 feature to enable conversion between nalgebra and glam v0.22.Add Matrix::try_cast to attempt casting the inner scalar types when that cast may fail.
Matrix::try_cast to attempt casting the inner scalar types when that cast may fail.CheckBytes with rkyv.Use #[inline] on the Dim implementation for Const to improve opt-level 1 performance.
#[inline] on the Dim implementation for Const to improve opt-level 1 performance.Point::new constructions const-fn.UnitVector::cast to change the underlying scalar type.Improve performances of multiplication of two sparse matrices.
Matrix::from_row_iterator to build a matrix from an iterator yielding components in row-major order.glam 0.21.nalgebra-sparse: add support for the matrix-market export of sparse matrices.nalgebra-lapack: add a GE for solving the generalized eigenvalues problem.Rotation3::from_matrix and UnitQuaternion::from_matrix when the input matrix is already a valid
rotation matrix.Switch to cust 0.3 (for CUDA support).
cust 0.3 (for CUDA support).rkyv 0.7abomonation.nalgebra types and glam 0.13.Const types have been simplified to help rust-analyzer.TryFrom conversion between UnitVector2/3/4 and glam’s Vec2/3/4.nalgebra-sparse: added support for serialization of sparse matrices with serde.nalgebra-sparse: add a CSC matrix constructor from unsorted (but valid) data.nalgebra-lapack: add generalized eigenvalues/eigenvectors calculation + QZ decomposition.UnitComplex.Add conversion from/to types of glam 0.19 and 0.20.
glam 0.19 and 0.20.The Dim trait is now marked as unsafe.
Dim trait is now marked as unsafe.Matrix::pow and Matrix::pow_mut methods only allow positive integer exponents now. To compute negative
exponents, the user is free to invert the matrix before calling pow with the exponent’s absolute value.Bounded requirement from RealField. Replace it by methods returning Option<Self> so that they can
still be implemented by unbounded types (by returning None).ComplexField trait derives from FromPrimitive again. We can actually keep this because all its methods
return Option<Self>, meaning that it could be implemented by any type.SVD::new_unordered
instead to reproduce the older behavior without the sorting overhead.UnitDualQuaternion::sclerp method will no longer panic when given two equal rotations.Matrix::select_rows and Matrix::select_columns methods no longer require the matrix components to implement
the trait Zero.Matrix::pow and Matrix::pow_mut methods will now also work with integer matrices.From<Vec<T>> and method from_vec_storage for RowDVector.From and Into for converting between nalgebra types and types from
glam 0.18. These can be enabled by enabling the convert-glam018 cargo features.Matrix::product, ::row_product, ::row_product_tr, and ::column_product to compute the
product of the components, rows, or columns, of a single matrix or vector.Default trait is now implemented for most geometric types: Point, Isometry, Rotation, Similarity,
Transform, UnitComplex, and UnitQuaternion.Scale geometric type for representing non-uniform scaling.Cholesky::new_with_substitute that will replace diagonal elements by a given constant whenever Cholesky
meets a non-definite-positiveness.cuda feature that enables the support of rust-cuda for using
nalgebra features with CUDA kernels written in Rust.Matrix::polar, Matrix::try_polar, and SVD::to_polar to compute the polar decomposition of
a matrix, based on its SVD.nalgebra-sparse: provide constructors for unsorted but otherwise valid data using the CSR format.nalgebra-sparse: added reading MatrixMarked data files to a sparse CooMatrix.matrix.get(i) and matrix.get_mut(i) where i is an usize, and matrix
is a matrix slice with non-default strides.vector.perp where vector isn’t actually a 2D vector as expected.nalgebra-lapack: the user of nalgebra-lapack no longer have to add
extern crate lapack-src to their main.rs.no-std build of nalgebra-glm.pow and pow_mut functions (the result was incorrect for some exponent values).We updated to the version 0.6 of simba. This means that the trait bounds T: na::RealField, na::ComplexField, na::SimdRealField, na:SimdComplexField no
simba. This means that the trait bounds T: na::RealField, na::ComplexField,
na::SimdRealField, na:SimdComplexField no imply that T: Copy (they only imply that T: Clone). This may affect
generic code.apply, zip_apply, zip_zip_apply must now modify the
first argument inplace, instead of returning a new value. This makes these
methods more versatile, and avoid useless clones when using non-Copy scalar
types.Allocator trait signature has been significantly modified in order to handle uninitialized matrices in a sound
way.Orthographic3::from_matrix_unchecked is now const fn.Perspective3::from_matrix_unchecked is now const fn.Rotation::from_matrix_unchecked is now const fn.Scalar is now automatically implemented for most 'static + Clone types. Type that implement Clone but not
Copy are now much safer to work with thanks to the refactoring of the Allocator system.bytemuck crates are now implemented for the geometric types too.Transform * UnitComplex, UnitComplex * Transform, Transform ×= UnitComplex,
Transform ÷= UnitComplex.Reflection::bias() to retrieve the bias of the reflection.Reflection1..Reflection6 aliases for 1D to 6D reflections.From and Into for converting between nalgebra types and types from
glam 0.16 and glam 0.17. These can be enabled by enabling the convert-glam016, and/or convert-glam017
cargo features.Implement Borrow and BorrowMut for contiguous slices.
Hash for Transform.Borrow and BorrowMut for contiguous slices.OPoint<T, D> type has been added. It takes the dimension number as a type-level integer (e.g. Const<3>)
instead
of a const-generic. The type Point<T, const D: usize> is now an alias for OPoint. This changes doesn't affect any
of the existing code using Point. However, it will allow the use OPoint in a generic context where the dimension
cannot be easily expressed as a const-generic (because of the current limitation of const-generics in Rust).self instead
of &self)
but this should not have any practical infulances on existing codebase.Point::new constructors are no longer const-fn. This is due to some limitations in const-fn
not allowing custom trait-bounds. Use the point! macro instead to build points in const environments.Dynamic::new and Unit::new_unchecked are now const-fn.Result<(), ()> now return bool instead.&mut[T].Fixed a bug in the conversion from glam::Vec2 or glam::DVec2 to Isometry2.
glam::Vec2 or glam::DVec2 to Isometry2.This removes the convert-glam and convert-glam-unchecked optional features. Instead, this adds the convert-glam013, convert-glam014, and convert-glam0
This removes the convert-glam and convert-glam-unchecked optional features.
Instead, this adds the convert-glam013, convert-glam014, and convert-glam015 optional features for
conversions targeting the versions 0.13, 0.14, and 0.15 of glam.
matrix!, dmatrix!, vector!, dvector!, point! for constructing matrices/vectors/points in a
more convenient way. See #886
and #899.CooMatrix::reserve to nalgebra-sparse.rkyv. Can be enabled with the features rkyv-serialize or
rkyv-serialize-no-std.DVector using serde.Conversion from an array [T; D] to an isometry Isometry (as a translation).
[T; D] to an isometry Isometry<T, _, D> (as a translation).SVector<T; D> to an isometry Isometry<T, _, D> (as a translation).Point<T; D> to an isometry Isometry<T, _, D> (as a translation).[T; D] from/to a translation Translation<T, D>.Point<T, D> to a translation Translation<T, D>.(Vec3, Quat) from/to an Isometry2 or Isometry3.Vec2/3/4 from/to a Translation2/3/4.Fix a regression introduced in 0.26.0 preventing DVector from being serialized with serde.
Fix a regression introduced in 0.26.0 preventing DVector from being serialized with serde.
The MatrixMN alias has been deprecated. Use OMatrix or SMatrix instead.
This release integrates min-const-generics to nalgebra. See
our blog post
for details about this release.
UnitVector3.pow and pow_mut function to square matrices.Cholesky::determinant to compute the determinant of a matrix decomposed
with Cholesky.serde-serialize-no-std feature to enable serialization of static matrices/vectors
with serde, but without requiring std.serde crate isn't enabled by default now. Enable the serde-serialize or the
serde-serialize-no-std features instead.Const<const D: usize> type has been introduced to represent dimensions known
at compile-time. This replaces the type-level integers from typenum as well as
the U1, U2, ..., U127 types from nalgebra. These U1, U2, ..., U127 are now
just aliases for Const<D>, e.g., type U2 = Const<2>.ArrayStorage now uses a standard array [[T; R]; C] instead of a GenericArray.MatrixMN alias has been deprecated. Use OMatrix or SMatrix instead.MatrixN<T, D> alias has been deprecated. Use OMatrix<T, D, D> or SMatrix instead.VectorN<T, D> alias has been deprecated. Use OVector or SVector instead.Point, Translation, Isometry, Similarity, and Transformation types now take an
integer for their dimension (instead of a type-level integer).Isometry, Similarity, Transformation changed to put
the integer dimensions in the last position (this is required by the compiler).::new constructors of translations, points, matrices, and vectors of dimensions <= 6
are now const fn, making them usable to define constant globals. The Quaternion::new
constructor is also a const fn now.Fix a compilation error when only the serde-serialize feature is enabled.
serde-serialize feature is enabled.The Vector::simd_cap_magnitude method to cap the magnitude of the vector with SIMD components.
Vector::simd_cap_magnitude method to cap the magnitude of the vector with
SIMD components.A convert-glam cargo feature to enable implementations of From traits to convert between glam types and nalgebra types.
convert-glam cargo feature to enable implementations of From traits to convert
between glam types and nalgebra types.convert-glam-unchecked cargo feature to enable some extra glam/nalgebra conversions that may
lead to unexpected results if used improperly. For example, this enables the conversion from a
glam::Mat4 to a na::Isometry3. This conversion will be cheap (without any check) but willlead to
unexpected results if the glam matrix contains non-isometric components (like scaling for example).cast method has been added to most types. This can be used to change the
type of the components of a given entity. Example: vector.cast::<f32>().This release replaces the version 0.25.0 which has been yanked. The 0.25.0 version added significant complication to build nalgebra targeting a #[no-s
This release replaces the version 0.25.0 which has been yanked. The 0.25.0 version
added significant complication to build nalgebra targeting a #[no-std] platform
not supported by rand.
The rand dependency is now optional (and disabled by default). You may enable it with:
rand-no-std cargo feature when targeting a #[no-std] environment.rand cargo feature when targeting a std environment.The sparse module of nalgebraitself still exists for backward compatibility, but it will be deprecated soon in favor of the nalgebra-sparse crate.
This updates all the dependencies of nalgebra to their latest version, including:
Alongside this release of nalgebra, we are releasing nalgebra-sparse: a crate dedicated to sparse matrix
computation with nalgebra. The sparse module of nalgebraitself still exists for backward compatibility,
but it will be deprecated soon in favor of the nalgebra-sparse crate.
UnitDualQuaternion, a dual-quaternion with unit magnitude which can be used as an isometry transformation.UDU::new() and matrix.udu() to compute the UDU factorization of a matrix.ColPivQR::new() and matrix.col_piv_qr() to compute the QR decomposition with column pivoting of a matrix.from_basis_unchecked to all the rotation types. This builds a rotation from a set of basis vectors (representing
the columns of the corresponding rotation matrix).Matrix::cap_magnitude to cap the magnitude of a vector.UnitQuaternion::append_axisangle_linearized to approximately append a rotation represented as an axis-angle to a
rotation represented as an unit quaternion.DoubleEndedIter.simba::simd::SimdValue at the root of the nalgebra crate.Nothing published for this version
The DualQuaternion type. It is still work-in-progress, but the basics are here: creation from its real and dual part, multiplication of two dual quate
DualQuaternion type. It is still work-in-progress, but the basics are here:
creation from its real and dual part, multiplication of two dual quaternions,
and normalization.impl<T> PartialEq for Unit<T> anymore. Instead, it is
implemented specifically for UnitComplex, UnitQuaternion and Unit<Vector>.In this release, we improved the documentation of some of the geometric types by applying changes similar to what we did in the version 0.23.1 for mat
In this release, we improved the documentation of some of the geometric types by applying changes similar to what we did in the version 0.23.1 for matrices.
Isometry::inv_mul method which is a more efficient way of doing
isometry1.inverse() * isometry2.In this release we improved the documentation of the matrix and vector types by:
In this release we improved the documentation of the matrix and vector types by:
impl bocks logically, adding a title comment to these impl blocks.Matrix.Matrix
directly (instead of being aliases for other aliases).The .inverse_transform_unit_vector(v) was added to Rotation2/3, Isometry2/3, UnitQuaternion, and UnitComplex. It applies the corresponding rotation to
.inverse_transform_unit_vector(v) was added to Rotation2/3, Isometry2/3, UnitQuaternion,
and UnitComplex.
It applies the corresponding rotation to a unit vector Unit<Vector2/3>.Point.map(f) and Point.apply(f) to apply a function to each component of the point, similarly
to Vector.map(f)
and Vector.apply(f).Quaternion::from([N; 4]) conversion to build a quaternion from an array of four elements.Isometry::from(Translation) conversion to build an isometry from a translation.Vector::ith_axis(i) which build a unit vector, e.g., Unit<Vector3<f32>> with its i-th component set to 1.0,
and the
others set to zero.Isometry.lerp_slerp and Isometry.try_lerp_slerp methods to interpolate between two isometries using linear
interpolation for the translational part, and spherical interpolation for the rotational part.Rotation2.slerp, Rotation3.slerp, and UnitQuaternion.slerp method for
spherical interpolation.Nothing published for this version
In this release, we are using the new version 0.2 of simba. One major change of that version is that the use of libm is now opt-in when building targe
In this release, we are using the new version 0.2 of simba. One major change of that version is that the
use of libm is now opt-in when building targeting no-std environment. If you are using floating-point
operations with nalgebra in a no-std environment, you will need to enable the new libm feature
of nalgebra for your code to compile again.
libm feature that enables libm when building for no-std environment.libm-force feature that enables libm even when building for a not no-std environment.Cholesky::new_unchecked which build a Cholesky decomposition without checking that its input is
positive-definite. It can be used with SIMD types.Default trait is now implemented for matrices, and quaternions. They are all filled with zeros,
except for UnitQuaternion which is initialized with the identity.matrix.exp().Vector::ith(i, x) that builds a vector filled with zeros except for the i-th component set to x.Nothing published for this version
In this release, we are no longer relying on traits from the __alga__ crate for our generic code. Instead, we use traits from the new simba crate whic
In this release, we are no longer relying on traits from the alga crate for our generic code. Instead, we use traits from the new simba crate which are both simpler, and allow for significant optimizations like AoSoA SIMD.
Refer to the monthly dimforge blogpost for details about this switch and its benefits.
simba::f32x4 as scalar types for nalgebra's matrices and
geometric types.alga::general::{RealField, ComplexField} have now been replaced by
simba::scalar::{RealField, ComplexField}.alga cargo feature is activated.Neg unary operator is no longer implemented for UnitComplex and UnitQuaternion. This caused
hard-to-track errors when we mistakenly write, e.g., -q * v instead of -(q * v).na::convert_unchecked is no longer marked as unsafe.cholesky.rank_one_update(...) which performs a rank-one update on the cholesky decomposition of a matrix.
cholesky.rank_one_update(...) which performs a rank-one update on the cholesky decomposition of a matrix.From<&Matrix> is now implemented for matrix slices..try_set_magnitude(...) which sets the magnitude of a vector, while keeping its direction.From and Into for the conversion between matrix slices and standard (&[N] &mut [N]) slices..remove_rows_at and remove_columns_at which removes a set of rows or columns (specified by indices) from a matrix.
.remove_rows_at and remove_columns_at which removes a set of rows or columns (specified by indices) from a matrix.LowerExp, UpperExp, Octal, LowerHex,
UpperHex, Binary, Pointer.UnitQuaternion::quaternions_mean(...) which computes the mean rotation of a set of unit quaternions. This implements
the algorithm from _Oshman, Yaakov, and Avishy Carmi, "Attitude estimation from vector observations using a
genetic-algorithm-embedded quaternion particle filter."min/max element of unsigned integer matrices.::infinite_perspective_rh_no, ::infinite_perspective_rh_zo,
::reversed_perspective_rh_zo, and ::reversed_infinite_perspective_rh_zo.Nothing published for this version
This release adds full complex number support to nalgebra. This includes all common vector/matrix operations as well as matrix decomposition. This exc
This release adds full complex number support to nalgebra. This includes all common vector/matrix operations as well
as matrix decomposition. This excludes geometric type (like Isometry, Rotation, Translation, etc.) from the
geometry module.
.cos, .sin, .tan, .acos, .asin, .atan, .cosh, .sinh, .tanh, .acosh, .asinh, .atanh..inner, .outer, .project, .rejection.left_div, .right_div for quaternions..renormalize to Unit<...> and Rotation3 to correct potential drift due to repeated operations.
Those drifts could cause them not to be pure rotations anymore..convolve_full(kernel) returns the convolution of self by kernel..convolve_valid(kernel) returns the convolution of self by kernel after removal of all the elements relying on
zero-padding..convolve_same(kernel) returns the convolution of self by kernel with a result of the same size as self.::from_matrix constructor too all rotation types to extract a rotation from a raw matrix.::from_matrix_eps constructor too all rotation types to extract a rotation from a raw matrix. This takes
more argument than ::from_matrix to control the convergence of the underlying optimization algorithm..camax() which returns the matrix component with the greatest L1-norm..camin() which returns the matrix component with the smallest L1-norm..ad_mul(b) for matrix-multiplication of self.adjoint() * b..ad_mul_to(b) which is the same as .ad_mul but with a provided matrix to be filled with the result of the
multiplication..dotc(rhs) equal to self.adjoint() * rhs..gerc(alpha, x, y, beta) equivalent to self = alpha * x * y.adjoint() + beta * self.hegerc which is like gerc but for Hermitian matrices..syger which is the new name of .ger_symm which is equivalent
to self = alpha * x * y.transpose() + beta * self..sygemv which is the new name of .gemv_symm which is equivalent to self = alpha * a * x + beta * self
with a symmetric..hegemv(alpha, a, x, beta) which is like .sygemv but with a Hermitian..gemv_ad(alpha, a, x, beta) which is equivalent to self = alpha * a.adjoint() * x + beta * self..gemm_ad(alpha, a, b, beta) which is equivalent to self = alpha * a.adjoint() * b + beta * self..icamax() which returns the index of the complex vector component with the greatest L1-norm.Note that all the other BLAS operation will continue to work for all fields, including floats and complex numbers.
RealSchur has been renamed Schur because it can now work with complex matrices.Nothing published for this version
Nothing published for this version
Nothing published for this version
The Point::from_coordinates methods is deprecated. Use Point::from instead.
v.zxy() as an equivalent
to Vector3::new(v.z, v.x, v.y).p.zxy() as an equivalent
to Point3::new(p.z, p.x, p.y)..copy_from_slice to copy matrix components from a slice in column-major order..dot to quaternions..zip_zip_map for iterating on three matrices simultaneously, and applying a closure to them..slerp and .try_slerp to unit vectors..lerp to vectors..to_projective and .as_projective to Perspective3 and Orthographic3 in order to
use them as Projective3 structures.From/Into impls to allow the conversion of any transformation type to a matrix.Into impls to convert a matrix slice into an owned matrix.Point*::from_slice to create a point from a slice..map_with_location to matrices to apply a map which passes the component indices to the user-defined closure
alongside
the component itself.From<Vector> for Point.From<Vector4> for Quaternion.From<Vector> for Translation.::from_vec constructor to construct a matrix from a Vec (a DMatrix will reuse the original Vec
as-is for its storage)..to_homogeneous to square matrices (and with dimensions higher than 1x1). This will increase their number of row
and columns by 1. The new column and row are filled with 0, except for the diagonal element which is set to 1.Extend<Vec> for matrices with a dynamic storage. The provided Vec is assumed to represent a column-major
matrix with the same number of rows as the one being extended. This will effectively append new columns on the right
of
the matrix being extended.Extend<Vec> for vectors with a dynamic storage. This will concatenate the vector with the given Vec.Extend<Matrix<...>> for matrices with dynamic storage. This will concatenate the columns of both matrices.Into<Vec> for the MatrixVec storage.Hash for all matrices..len() method to retrieve the size of a MatrixVec.bottom < top, that left < right, and that znear < zfar. The
only restriction now ith that they must not be equal (in which case the projection would be singular).Point::from_coordinates methods is deprecated. Use Point::from instead..transform_point and .transform_vector methods are now inherent methods for matrices so that the user does not
have to
explicitly import the Transform trait from the alga crate.MatrixArray -> ArrayStorage and MatrixVec -> VecStorage..unwrap() to .into_inner() for geometric types that wrap another type.
This is for the case of Unit, Transform, Orthographic3, Perspective3, Rotation.* Remove the `Deref` impl for `MatrixVec` as it could cause hard-to-understand compilation errors.
ortho_lh, ortho_lh_no, perspective_lh, etc.serde-serialize, abmonation-serialize, std` (enabled by
default).Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →