我想做以下预测:
x' = 2*x - z
y' = -2*y - z
z' = -z
我想出了这个矩阵:
2, 0, 0, 0,
0, -2, 0, 0,
0, 0, -1, 0,
0, 0, 0, screen_width
它主要按预期工作,除了:
- 它在非完美方形屏幕中变形。
- 它会进行近/远剪辑,从屏幕上删除一些对象。我不想要那个。
因此,问题归结为:如何在此矩阵上设置近/远 FOV,以及如何更新它以不仅考虑屏幕宽度,还考虑宽度/高度比?
注意:有问题的软件使用 Three.js,但我猜它使用与 OpenGL 相同的约定,因此我将其标记为这样。