三角形光栅化
经过上节课的MVP(Model, View, Projection transformation)变换之后,所有的物体都会在 [ − 1 , 1 ] 3 [-1,1]^3 [−1,1]3的立方体中,本节就来讨论如何将这个 [ − 1 , 1 ] 3 [-1,1]^3 [−1,1]3的立方体画在屏幕上(光栅化)。下面我们给出一些定义:
什么是屏幕?
- 像素的数组
- 数组的大小:分辨率
- 一个典型的光栅(raster)成像设备
光栅化==把东西画在屏幕上。对于像素,在本节中,我们将其抽象成一个具有唯一颜色(不会变色)的小方块。像素的坐标都使用 ( x , y ) (x,y) (x,y)表示,其中 x , y x,y x,y都是整数,其取值范围是 ( 0 , 0 ) (0,0) (0,0)到 ( w i d t h − 1 , h e i g h t − 1 ) (width-1,height-1) (width−1,height−1)。像素中心的坐标为 ( x + 0.5 , y + 0.5 ) (x+0.5,y+0.5) (x+0.5,y+0.5),而整个屏幕的取值范围是 ( 0 , 0 ) (0,0) (0,0)到 ( w i d t h , h e i g h t ) (width,height) (width,height)。
下面我们讨论如何将 [ − 1 , 1 ] 3 [-1,1]^3 [−1,1]3转换到 [ 0 , w i d t h ]