第二章 顶点处理机制
1.管线:数据序列并用于处理元素。
2.渲染管线的过程包括:顶点处理过程——>光栅化过程——>片元处理过程——>输出合并操作(其中可编程状态包括:顶点和片元,称为顶点程序和片元程序)
3.光栅化过程和输出合并操作依赖于硬件。
4.在顶点处理阶段,对象空间模型将贯穿多个空间,直至到达剪裁空间。
5.对象空间——(世界转换)——>世界空间——(视见转换)——>相机空间——(投影转换)——>剪裁空间
2.1 世界转换
1.世界转换和视见转换取决于各种基本转换:缩放转换、旋转转换、平移转换
2.缩放转换:三维缩放操作可用3x3矩阵描述:
3.sx,sy,sz表示沿主轴方向上的缩放系数 (系数都相等则称为均匀缩放)
4.旋转操作(2d):需要得知旋角【a,b表示旋转后坐标,x,y表示旋转前】:
5.旋转操作(3d):对应坐标为三维,且需确定旋转轴,不同旋转轴对应的变换矩阵不同:
6.平移转化:矩阵的加法,加上偏移量:
7.齐次坐标:给定某一顶点的3d笛卡尔坐标(x,y,z),则可简单的将(x,y,z,1)视为齐次坐标
8.对应的四维变换矩阵:
9.齐次坐标(x,y,z,w)对应于笛卡尔坐标(x/w,y/w,z/w). w项可用于分辨向量和顶点数据,如果w=0,表示向量,否则为顶点。
2.1.2 世界矩阵
1.建模完毕后,对象隶属于自身对象空间嗲与其他对象空间不存在任何关联,渲染管线首要将定义于自身空间内的模型整合至单一空间内,即世界空间。
2.“世界”可视为针对全部游戏环境的坐标系统
3.“世界矩阵”:将对应操作的矩阵相乘。利用世界矩阵与原坐标相乘可得到白能换后在世界的位置。
2.1.3 欧拉转换
1.定义:沿x,y,z轴进行连续转换(利用沿不同轴的矩阵相乘),转换角x1,x2,x3为欧拉角。
2.1.4 表面法线的转换
1.标准化操作:对顶点进行的系列变化操作。
2.令M为多边形网格的转换矩阵,若M为某一旋转操作,平移操作,均匀缩放操作或者上述组合,则可用M对该对象进行表面法线转换【非均匀缩放则不可】
3.转换公式:
【T:转置,-1:逆】