+
+ dir[0] = tx - x;
+ dir[1] = ty - y;
+ dir[2] = tz - z;
+ len = sqrt(dir[0] * dir[0] + dir[1] * dir[1] + dir[2] * dir[2]);
+
+ if(1.0f - fabs(ty - y) / len < 1e-6f) {
+ cam.ux = cam.uy = 0.0f;
+ cam.uz = -1.0f;
+ } else {
+ cam.ux = cam.uz = 0.0f;
+ cam.uy = 1.0f;
+ }
+
+ mat4_lookat(cam.xform, x, y, z, tx, ty, tz, cam.ux, cam.uy, cam.uz);