使用 OpenTK,我创建了一个垂直 FOV 为 90° 的窗口 (800x600)。我想制作一个背景图像适合整个屏幕的 2D 游戏。我想要的是可变z坐标处的平面作为RectangleF。
目前我的代码是:
var y = (float)(Math.Tan(Math.PI / 4) * z);
return new RectangleF(aspectRatio * -y, -y, 2 * aspectRatio * y, 2 * y);
由此计算的矩形总是有点小,这种影响似乎随着z的增加而减小。希望有人会发现我的错误。