0

到目前为止,这就是我对图形管道(Opengl)的理解,有人可以确认吗?

  • 对象空间:对象(几何)特定坐标;

  • 世界空间:将物体旋转、平移和缩放到世界空间;

  • 眼睛空间:限制世界观的视锥体,使用投影矩阵将 3d 坐标投影到 2d 平面(近平面?),在必要时缩放它,并在其超出视锥体/眼睛空间时对其进行裁剪

我读过眼睛空间反转 Z 轴,所以,原来的 +z 顶点从眼睛向后转动,为什么?

4

1 回答 1

3

没有。有

  • 局部空间

→ 模型视图变换 →</p>

  • 眼睛空间

→ 投影变换 →</p>

  • 剪辑空间

→ 齐次坐标 w 归一化 →</p>

  • 归一化坐标空间

模型视图和投影变换通常用矩阵乘法表示。对使用的矩阵没有特殊要求,但您通常希望它们是非奇异的。但在这之间,任何事情都会发生。通常发现的变换是旋转缩放+平移和剪切缩放+平移。

我读过眼睛空间反转 Z 轴,所以,原来的 +z 顶点从眼睛向后转动,为什么?

不,不是。我认为您可能会在投影矩阵中使用负 z 和 w 元素。但这只是为了获得正确的深度排序。您可以很好地翻转它们的符号,并通过对深度范围和深度测试功能进行某些调整来逆转这种效果。那里的负号只是常规获得默认设置的右手坐标系,即正 Z 眼空间坐标出现在屏幕上。

于 2013-01-17T02:04:57.553 回答