Multiply a column-major 4x4 matrix by a column vector.
(m: &[[f32; 4]; 4], v: &[f32; 4])
| 83 | |
| 84 | /// Multiply a column-major 4x4 matrix by a column vector. |
| 85 | pub fn mat4_mul_vec4(m: &[[f32; 4]; 4], v: &[f32; 4]) -> [f32; 4] { |
| 86 | [ |
| 87 | m[0][0]*v[0] + m[1][0]*v[1] + m[2][0]*v[2] + m[3][0]*v[3], |
| 88 | m[0][1]*v[0] + m[1][1]*v[1] + m[2][1]*v[2] + m[3][1]*v[3], |
| 89 | m[0][2]*v[0] + m[1][2]*v[1] + m[2][2]*v[2] + m[3][2]*v[3], |
| 90 | m[0][3]*v[0] + m[1][3]*v[1] + m[2][3]*v[2] + m[3][3]*v[3], |
| 91 | ] |
| 92 | } |
| 93 | |
| 94 | pub fn mat4_translate(m: [[f32; 4]; 4], v: [f32; 3]) -> [[f32; 4]; 4] { |
| 95 | let mut out = m; |
no outgoing calls