渲染管线:顶点处理过程——光栅化过程——片元处理过程——输出合并操作。
光栅化阶段:根据顶点对多边形加以整合,并将各个多边形转换为片元集合。片元定义为一组数据,并对颜色缓冲区中的像素进行更行。
片元处理:对各个片元进行操作(如纹理操作),进而进行各种操作确定片元的颜色值。
输出合并:片元与颜色缓冲区中的像素进行比较或合并,进而更行像素的颜色值。
顶点操作包括转换操作、光照操作和动画操作。本章主要探讨顶点转化操作,并介绍顶点光照方式。第5章讨论顶点光照内容,第11章阐述顶点动画方式。
2.1世界转换
2.1.1仿射转换和齐次坐标
上图中的世界转换和视见转换取决于各种基本转换:缩放、旋转、平移。
缩放和旋转为线性转换,线性转换+平移操作统称为仿射转换。
平移操作通过向量加法描述,但是使用齐次坐标后能使用矩阵描述,所以缩放和旋转也要使用其次坐标下的矩阵形式
三维缩放矩阵——齐次坐标缩放矩阵
2D旋转矩阵——3D旋转矩阵——齐次坐标旋转矩阵
齐次坐标(x,y,z,w)对应于笛卡尔坐标(x/w,y/w,z/w)。齐次坐标的w项用于分辨向量和顶点数据,如果w为0,则(x,y,z,w)表示向量;否则表示顶点。
2.1.2世界矩阵
在右手坐标系中,比如绕Y轴旋转,箭头指向观察者,如果旋转角度为+90,则为逆时针;-90,则为顺时针。
旋转矩阵和平移矩阵相乘得到对应的4 X 4世界矩阵。左上方3 X3 矩阵表示组合线性转换,第四列表示组合平移操作。
2.1.3欧拉转换
当对象绕X Y Z轴进行连续旋转时,对象应具有确定方向。旋转角θx、θy、θz称为欧拉角。可以将3个旋转操作整合为一个旋转操作,该过程称为欧拉转换