Skip to main content

Mat4A

Type Alias Mat4A 

Source
pub type Mat4A<T> = Matrix<4, T, Aligned>;
Expand description

A 4x4 row-major matrix.

This matrix can be used for both 3D affine transformations (applied using self.transform_point(vec3) and self.transform_vector(vec3)) and 3D projections (applied using self.project_point(vec3)).

For 3D affine transformations, consider using the Affine3A<T> type which performs better than Mat4A for select operations (see benchmark results).

§SIMD alignment

For appropriate T types, Mat4A<T> has SIMD alignment. For no SIMD use Mat4<T>.

§Fields

  • x_axis: Vec4A<T> (the first row of the matrix, represents the result of (1, 0, 0, 0) * self)

  • y_axis: Vec4A<T> (the second row of the matrix, represents the result of (0, 1, 0, 0) * self)

  • z_axis: Vec4A<T> (the third row of the matrix, represents the result of (0, 0, 1, 0) * self)

  • w_axis: Vec4A<T> (the fourth row of the matrix, represents the result of (0, 0, 0, 1) * self)

Note that these fields are only exposed by implementing Deref and DerefMut.

Aliased Type§

pub struct Mat4A<T>(/* private fields */);