我正在編寫自己的3D引擎,我有這個矩陣來做透視效果。 (這是一個標準矩陣,所以沒有什麼有趣的)從3D平滑過渡到2D
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和背部平滑過渡...
任何一個有什麼想法?爲了使平滑過渡成爲可能,我需要在這個矩陣中改變什麼?
爲什麼你米atrix稱爲Matrix3D?它是一個四乘四矩陣,所以你應該打電話給Matrix4x4相當清楚是什麼。或甚至更好,得到它的模板,所以我可以說矩陣 –
thecoshman
2010-10-25 23:23:07
好吧。 Tnx我想到後來... – 2010-10-26 00:54:01