f.normalize();
// Vector3 up2 = new Vector3(up);
// up2.normalize();
Vector3 s = Vector3.cross(f, up);
s.normalize();
Vector3 u = Vector3.cross(s, f);
//
// float[][] m = new float[][] {
// new float[] { s.X, u.X, -1 * f.X, 0},
// new float[] { s.Y, u.Y, -1 * f.Y, 0},