gpt4 book ai didi

math - 为什么我的正交投影矩阵不起作用?

转载 作者:行者123 更新时间:2023-12-02 02:19:03 25 4
gpt4 key购买 nike

我正在尝试使用正交投影渲染位于平面 (z=0) 中的一些四边形。看完Formula for a orthogonal projection matrix?我确实设置了投影矩阵但我认为我做错了什么。

我的第一次尝试是下面的矩阵。 W 和 H 是我想要的视口(viewport)的宽度和高度,在以下示例中为 640x640:

 ˹ 2/w 0   0  0 ˺
| 0 2/h 0 0 |
| 0 0 0 0 |
˻ 0 0 0 1 ˼

这是我在渲染左上角位于 (0,0,0) 的四边形时获得的结果:

No good

因为它是垂直翻转的,所以我将矩阵更改为:

 ˹ 2/w  0   0  0 ˺
| 0 -2/h 0 0 |
| 0 0 0 0 |
˻ 0 0 0 1 ˼

我得到了:

better


然后我试着四处移动我的四边形,结果出乎意料。我希望 3D 空间的 X 和 Y 与视口(viewport)的 X 和 Y 相匹配。然而,这是我沿 X 轴移动四边形时发生的情况:

ouch


沿 Y 轴移动同样得到意想不到的结果:

ouch ouch


如何修复我的矩阵,使 3D 空间的 X 轴和 Y 轴与视口(viewport)的 X 轴和 Y 轴匹配?非常感谢。

最佳答案

这个投影矩阵其实是正确的。问题出在 quad 翻译代码中,抱歉搞砸了。

关于math - 为什么我的正交投影矩阵不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9151328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com