顶点变换管线流程简图
-
解释:假设顶点是1*4的矩阵分别是x,y,z,w,并且w默认等1然后发生很多变化,例如平移和旋转等需要跟顶点相乘然后变换成视觉坐标。
怎么变换?比如有平移,缩放,旋转等,先把平移、缩放、旋转的矩阵相乘,变成一个模型视图矩阵后的结果,再跟顶点矩阵相乘;比如三角形图形,那么每一个顶点都需要跟模型视图矩阵相乘得出变化;那么就是说,每一个顶点矩阵都需要跟模型视图矩阵相乘得出变换的视觉坐标,这也说明已经应用了变换变化,例如平移、旋转、缩放等变化,这也说明已经发生了变化;接下来需要跟投影矩阵处理,判断是否在投影矩阵范围以内;如果你是透视投影,那么就与透视投影矩阵相乘;如果是正投影,那么就与正投影矩阵相乘就可以计算出顶点是否在(正/透视)投影矩阵的位置,如果超过了范围那么就要被裁剪掉得出裁剪坐标,然后接下来做透视除法,所做的事是x/w,y/w,z/w 得出规范化的设备坐标,然后视口变换,视口变换完之后就渲染图形呈现出来,到这里就是一个简单的流程。 -
说明:模型视图、投影视图和裁剪坐标需要我们自己来管理,
而透视除法是OpenGL自动处理,不需要我们处理
视口变化也是OpenGL自动处理
网友评论