vertex-processing是渲染管线中rasterization中前面的一步。
在这一步中我们主要是将输入的三维的左边转化为我们所需要的屏幕的坐标。
我们在之前的视角变换中提到了两种投影,一种是正交投影,另外一种是透视投影,我们在本篇和之后的内容中都探讨的是透视投影。
一开始物体的坐标是通过三维空间中的坐标表示出来的,接着我们要将该物体投影到[-1,1]^3上。接着将[-1,1]^2的物体投影到屏幕空间中(Screen space)[0,width-1]*[0,height-1]。Z坐标在之后着色的时候会使用到。
第一个过程,即将物体投影到[-1,1]^2的过程,在前面的视角变换的笔记中已经提到,这就就不再赘述。
第二个过程,将[-1,1]^3投影到屏幕空间中(Screen space)[0,width-1]*[0,height-1]中,这是一个很简单的过程。
如图,使用在变换一节中提到的变换的矩阵就可以得到这样一个变化方程。
在完成变换之后,就可以开始进行光栅化的处理。