(a: [f32; 3], b: [f32; 3])
| 447 | [v[0] / l, v[1] / l, v[2] / l] |
| 448 | } |
| 449 | fn cross(a: [f32; 3], b: [f32; 3]) -> [f32; 3] { |
| 450 | [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]] |
| 451 | } |
| 452 | fn dot3(a: [f32; 3], b: [f32; 3]) -> f32 { a[0]*b[0] + a[1]*b[1] + a[2]*b[2] } |
| 453 | |
| 454 | fn look_at_rh(eye: [f32; 3], target: [f32; 3], up: [f32; 3]) -> [[f32; 4]; 4] { |