matrix/mat4f
4x4 matrices of floats
Types
Values
pub fn add(
a: vec4.Vec4(vec4.Vec4(Float)),
b: vec4.Vec4(vec4.Vec4(Float)),
) -> vec4.Vec4(vec4.Vec4(Float))
Adds two Mat4fs together
pub fn diagonal(
mat: vec4.Vec4(vec4.Vec4(Float)),
) -> vec4.Vec4(Float)
Extracts the diagonal of the Mat4f.
pub fn from_cols(
a: vec4.Vec4(Float),
b: vec4.Vec4(Float),
c: vec4.Vec4(Float),
d: vec4.Vec4(Float),
) -> vec4.Vec4(vec4.Vec4(Float))
Constructs a Mat4f from its four columns.
| a.x b.x c.x d.x |
| a.y b.y c.y d.y |
| a.z b.z c.z d.z |
| a.w b.w c.w d.w |
pub fn from_diagonal(
diagonal: vec4.Vec4(Float),
) -> vec4.Vec4(vec4.Vec4(Float))
Creates a 4x4 matrix with its diagonal set to diagonal and all other entries are 0.
pub fn mul_transpose_vec4(
mat: vec4.Vec4(vec4.Vec4(Float)),
rhs: vec4.Vec4(Float),
) -> vec4.Vec4(Float)
Transforms a 4D vector by the transpose of the Mat4f.
Equivalent to matrix multiplication where the vector is on the left.
pub fn mul_vec4(
mat: vec4.Vec4(vec4.Vec4(Float)),
rhs: vec4.Vec4(Float),
) -> vec4.Vec4(Float)
Transforms a 4D vector by this Mat4f.
pub fn new(
ax: Float,
ay: Float,
az: Float,
aw: Float,
bx: Float,
by: Float,
bz: Float,
bw: Float,
cx: Float,
cy: Float,
cz: Float,
cw: Float,
dx: Float,
dy: Float,
dz: Float,
dw: Float,
) -> vec4.Vec4(vec4.Vec4(Float))
Constructs a Mat4f from its components.
| ax bx cx dx |
| ay by cy dy |
| az bz cz dz |
| aw bw cw dw |
pub fn scale(
mat: vec4.Vec4(vec4.Vec4(Float)),
scale: Float,
) -> vec4.Vec4(vec4.Vec4(Float))
Scales the Mat4f by a Float.
pub fn subtract(
a: vec4.Vec4(vec4.Vec4(Float)),
b: vec4.Vec4(vec4.Vec4(Float)),
) -> vec4.Vec4(vec4.Vec4(Float))
Subtracts Mat4f b from a