【问题标题】:Division in Projection Matrices投影矩阵的划分
【发布时间】:2021-04-30 07:16:43
【问题描述】:

免责声明:此问题与其他投影矩阵问题不同。

所以投影矩阵是 4x4 矩阵,与 4D 向量相乘以将它们展平到 2D 平面上。喜欢这个:

1 0 0 0
0 1 0 0
0 0 0 0
0 0 1 0

但是在解释中,它说向量的 x 和 y 坐标除以 Z。但我不明白这是如何工作的,因为乘以 Z 的矩阵的每个部分都是 0。关于这个主题的另一个问题说,“硬件为你做这件事。”我不太明白那是什么意思。提前谢谢!

【问题讨论】:

  • 透视除法不是矩阵乘法的一部分...它在结果之后由您的代码或直接由硬件或 gfx lib 完成...除法也由 @987654322 完成@ 或w 结果的值(取决于使用的投影矩阵)见How to use face normal for back-face culling in perspective projection scenes 在代码中查找// perspective divide by w + scale x,y to pixels
  • 哦,好的,谢谢@Spektre 澄清它!

标签: math matrix vector 3d projection


【解决方案1】:

我也对这个命名问题感到困惑。以下是关于 Vulkan 的更好解释:https://matthewwellings.com/blog/the-new-vulkan-coordinate-system/

在可编程顶点阶段之后,运行一组固定函数顶点操作。 在这个过程中你在剪辑空间中的齐次坐标除以 wc

显然,如果实际的透视校正不是由它们实际完成,那么将这些矩阵称为 投影 矩阵是非常具有误导性的。 :)

【讨论】:

    猜你喜欢
    • 2020-10-22
    • 2012-03-27
    • 2015-11-01
    • 2013-08-03
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 2019-03-05
    • 2015-02-06
    相关资源
    最近更新 更多