光栅化操作阶段,由顶点程序处理的顶点将进入硬件处理阶段。首先顶点组装为图元,如三角形。同时,各个图元还将被进一步处理,进而确定屏幕上的2D形式,并光栅化为片元集合。
光栅化过程包括如下子操作:剪裁操作、透视除法、背面剔除操作、视口转换以及扫描转换。光栅化操作不可编程。
3.1剪裁操作
剪裁算法通常在硬件中实现,用户无权干涉。分为3种:
三角形位于视锥体外部并被丢弃;
三角形位于视锥体内部,并被传递至下一步骤;
三角形与视锥体部分相交,须执行剪裁操作。
3.2透视除法
为了实现齐次(剪裁)空间至笛卡尔空间的转换,各个顶点需要除以自身的w坐标。该值等于-z且为正值,表示相对于相机空间xy平面的距离值。因此,经w除法操作后,较远处的对象通常较小,这就是所谓的透视投影或透视收缩效果。所以,w除法通常称为透视除法。
在经过透视除法操作后,剪裁空间内的顶点可通过标准化设备坐标加以表示(NDC)。X y坐标位于(-1,1)范围内,z坐标位于(0,1)(opengl为(-1,1))范围内,因为NDC坐标定义为标准化坐标。