什么时候需要透视分割?

When perspective division is necessary?

当需要将齐次坐标 (x, y, z, w) 除以 w(即转换为 (x/w, y/w, z/w, 1))时,我感到非常困惑。

根据这个page,当齐次顶点坐标通过正交或投影矩阵时,坐标将在裁剪坐标中。剪辑坐标需要透视分割才能得到NDC。它将产生 (-1, 1) 范围内的 x、y 和 z 值。

我正在关注有关 orthographical and perspective 投影的 WebGL 教程页面。这些教程只字未提透视分割。我不确定在与投影矩阵相乘后是否仍然需要除法。也许,除法是在矩阵乘法时自动进行的?

透视分割(从剪辑space到NDCspace的转换)既不需要也不需要;这是一个part of the graphics pipeline。它会自动发生在通过系统的每个顶点上。

您可以通过将顶点的 W 分量设置为 1.0(假设输入位置的 W 为 1.0,这就是正交投影矩阵所做的)来使其成为 no-op。但分裂总是会发生。