pub fn look_to_rh(eye: Point3<S>, dir: Vector3<S>, up: Vector3<S>) -> Matrix4<S> {
        let f = dir.normalize();
        let s = f.cross(up).normalize();
        let u = s.cross(f);

        #[cfg_attr(rustfmt, rustfmt_skip)]
        Matrix4::new(
            s.x, u.x, -f.x, S::zero(),
            s.y, u.y, -f.y, S::zero(),
            s.z, u.z, -f.z, S::zero(),
            -eye.dot(s), -eye.dot(u), eye.dot(f), S::one(),
        )
    }
Create a homogeneous transformation matrix that will cause a vector to point at
`dir`, using `up` for orientation.
src/matrix.rs