{ m11 : Basics.Float
, m12 : Basics.Float
, m13 : Basics.Float
, m14 : Basics.Float
, m21 : Basics.Float
, m22 : Basics.Float
, m23 : Basics.Float
, m24 : Basics.Float
, m31 : Basics.Float
, m32 : Basics.Float
, m33 : Basics.Float
, m34 : Basics.Float
, m41 : Basics.Float
, m42 : Basics.Float
, m43 : Basics.Float
, m44 : Basics.Float
}
identity : Mat4
fromRows : Vec4 -> Vec4 -> Vec4 -> Vec4 -> Mat4
Create a matrix out of vectors representing its rows.
add : Mat4 -> Mat4 -> Mat4
mul : Mat4 -> Mat4 -> Mat4
invert : Mat4 -> Maybe Mat4
transpose : Mat4 -> Mat4
rotate : Basics.Float -> Vec3 -> Mat4
Creates a transformation matrix for rotation in radians about the 3-element vector axis.
scale : Vec3 -> Mat4
translate : Vec3 -> Mat4
lookAt : { eye : Vec3, centerOfAttention : Vec3, up : Vec3 } -> Maybe Mat4
orthographic : { left : Basics.Float, right : Basics.Float, bottom : Basics.Float, top : Basics.Float, zNear : Basics.Float, zFar : Basics.Float } -> Mat4
perspective : { fovy : Basics.Float, aspect : Basics.Float, zNear : Basics.Float, zFar : Basics.Float } -> Mat4
transformPoint : Mat4 -> Vec3 -> Vec3
Transforms a point, applying scaling, rotation, and translation.
transformVector : Mat4 -> Vec3 -> Vec3
Transforms a vector, applying scaling and rotation, but not translation.
transform : Mat4 -> Vec4 -> Vec4
Transforms a general 4D vector.