渲染流水线包括应用阶段、几何阶段、光栅化阶段三个阶段
应用阶段:应用阶段主要是在cpu作用下完成的。包括加载数据到显存,设置渲染状态,draw call这几个阶段。
几何阶段:几何阶段主要是在GPU上进行的。该阶段的功能是将显存中的图元顶点转换到屏幕坐标系下。主要分为顶点着色器、曲面细分着色器、几何着色器、裁剪、屏幕映射几步。顶点着色器将图元顶点转换到齐次裁剪坐标系,同时还有逐点光照计算顶点颜色的功能。一般硬件会将齐次裁剪坐标系变为归一设备坐标(NDC)。屏幕映射主要工作是将图元顶点坐标转换到屏幕坐标系。NDC的z分量(opengl:-1,1 DX:0,1),屏幕坐标系(opengl左下角原点,DX左上角原点)
光栅化阶段:光栅化阶段是在GPU上进行的。该阶段的功能是对上一步得到的图元顶点进行插值得到图元的像素信息。主要分为三角形设置,三角形遍历,片元着色器,逐片元操作几步。三角形设置生成图元的边,三角形遍历生成图元像素区域。片元着色器主要是计算各像素的颜色值。逐片元操作包括alpha测试、模板测试、深度测试、混合等几个阶段。