public static Matrix4f lookAt(Vector3f eye, Vector3f center, Vector3f up) {
		Matrix4f mat = new Matrix4f();
		Vector3f f = Vector3f.sub(center, eye, null).normalise(null);
		Vector3f s = Vector3f.cross(f, up, null).normalise(null);
		Vector3f u = Vector3f.cross(s, f, null);
		mat.m00 = s.getX();
		mat.m10 = s.getY();
		mat.m20 = s.getZ();
		mat.m01 = u.getX();
		mat.m11 = u.getY();
		mat.m21 = u.getZ();
		mat.m02 = -f.getX();
		mat.m12 = -f.getY();
		mat.m22 = -f.getZ();
		mat.m30 = -Vector3f.dot(s, eye);
		mat.m31 = -Vector3f.dot(u, eye);
		mat.m32 = Vector3f.dot(f, eye);
		return mat;
	}