Я пишу свой собственный 3D-движок, и у меня есть эта матрица, чтобы взглянуть в перспективе.(Это стандартная матрица, поэтому в ней нет ничего интересного)
public static Matrix3D PrespectiveFromHV(double fieldOfViewY, double aspectRatio, double zNearPlane, double zFarPlane, double mod)
{
double height = 1.0 / Math.Tan(fieldOfViewY / 2.0);
double width = height / aspectRatio;
double d = zNearPlane - zFarPlane;
var rm = Math.Round(mod, 1);
var m = new Matrix3D(
width, 0, 0, 0,
0, height, 0, 0,
0, 0, (zFarPlane / d) * rm, (zNearPlane * zFarPlane / d) * rm,
0, 0, (-1 * rm), (1 - rm)
);
return m;
}
Я мог бы сделать мою сцену похожей на 2D, просто игнорируя эту матрицу.плавный переход из 3D в 2D и обратно ...
У кого-нибудь есть идеи?Что мне нужно изменить в этой матрице, чтобы сделать возможным плавный переход?