The behavior of the 4x4 matrix method transform_point3() was changed to not
perform the perspective divide. This is an optimization for use with affine
transforms where perspective correction is not required. The
project_point3() method was added for transforming points by perspective
projections.
The 3x3 matrix from_scale() method was changed to
create a affine transform containing a 2-dimensional non-uniform scale to be
consistent with the 4x4 matrix version. The
from_diagonal() method can be used to create a 3x3 scale matrix.
The 3x3 matrix methods transform_point2_as_vec3a,
transform_vector2_as_vec3a and mul_vec3_as_vec3a were unintentionally
pub and are no longer publicly accessible.
Added
Added Vec2::X, Vec4::W etc constants as a shorter versions of unit_x()
and friends.
Added ONE constants for vectors.
Added IDENTITY constants for Mat2, Mat3, Mat4 and Quat.
Added ZERO constant for vectors and matrices.
Added clamp_length(), clamp_length_max(), and clamp_length_min methods
for f32 and f64 vector types.
Added try_normalize() and normalize_or_zero() for all real vector types.
Added from_diagonal() methods to all matrix types for creating diagonal
matrices from a vector.
Added angle_between(), from_rotation_arc() and
from_rotation_arc_colinear() to quaternion types.
Added quaternion inverse() which assumes the quaternion is already
normalized and returns the conjugate.
Added from_translation() and from_angle() methods to 3x3 matrix types.
Added project_point3() method to 4x4 matrics types. This method is for
transforming 3D vectors by perspective projection transforms.
Added Eq and Hash impls for integer vector types.
Changed
Deprecated ::unit_x/y/z(), ::zero(), ::one(), ::identity() functions
in favor of constants.
[0.12.0] - 2021-01-15
Breaking Changes
Vec2Mask, Vec3Mask and Vec4Mask have been replaced by BVec2, BVec3,
BVec3A, BVec4 and BVec4A. These types are used by some vector methods
and are not typically referenced directly.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on glam to permit the latest version.
Changelog
Sourced from glam's changelog.
... (truncated)
Commits
556ff78
Prepare for 0.13.0 release.c020d86
Added some doc alias for lerp (mix) and length (magnitude).4191e7e
Comment the requirements for angle_between inputs to be non-zero.8e3db8e
Update README.md mostly to force another CI build...1755949
Try using the docker image for tarpaulin again.21ffbe3
Added 4x4 matrixproject_point3()
, changedtransform_point3()
.d13b845
Addedfrom_translation()
andfrom_angle()
methods to 3x3 matrix types.9f83907
Impl Eq and Hash for ivec and uvec (#134)2f29df4
Added quaterioninverse()
which returns the conjugate.c2058db
More 3x3 matrix docs tweaks.Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)