在顶点着色器出现后的图形管道中,基元程序集>剪切以查看视锥>规范化设备坐标 ->视口转换。
现在在顶点着色器中,我们将对象绳索乘以模型视图和投影矩阵。" 投影矩阵将视图坐标中的顶点转换为规范视图体积(边为 2 2 2 的立方体,以原点为中心,并与 3 个坐标轴对齐)。通常,这将通过正交投影或透视投影进行。此变换包括乘以投影变换矩阵,然后进行归一化每个顶点,通过将每个顶点除以其自己的 w 坐标来计算。"
现在,如果这仅在顶点着色器中完成,为什么它出现在管道中的顶点着色器部分之后,它不应该只是顶点着色器的一部分吗?如果不是,投影矩阵乘以顶点坐标的输出是多少?
我不确定我是否理解您的问题,但是在顶点着色器中将点乘以模型视图和投影矩阵后,您的点将位于剪辑坐标中。这样做是因为现在,图形 hw 可以确定哪些对象可见,哪些不可见。这称为剪切,它是顶点着色器之后的单独步骤。在此之后,它进行透视划分(将xyz
坐标除以齐次坐标w
,这是在 GPU 内部硬编码的)以获得规范化的设备坐标[-1, 1]
。