渲染流水线可以分为三个概念阶段:应用阶段、几何阶段、光栅化阶段。
应用阶段:通常在CPU上实现完成,主要由开发者来操控,执行的三个主要任务就是:
1 .准备好场景数据,例如摄像机的位置,使用了哪些光源
2.粗粒度剔除,将那些不可见的物体剔除出去,就不需要移交几何阶段来处理
3.设置好每个模型的渲染状态,输出渲染所需要的几何信息(即渲染图元)
几何阶段:通常在GPU上运行,处理所有我们要绘制几何相关的信息,进行逐顶点、逐多边形的操作。几何阶段一个重要任务就是将顶点坐标变换到屏幕空间中,再交给光栅器处理。
光栅化阶段:也通常在GPU上运行,通过上一阶段传递的数据产生在屏幕上的像素,并渲染出最终的图像。
这里的流水线是概念流水线,只是渲染流程基本功能划分,下面要介绍的GPU流水线才是硬件用于实现上述概念的流水线。
渲染流水线的起点是CPU,即应用阶段,大致分为以下三个阶段:
1.把数据加载到显存中(硬盘>系统内存>显存,于是在渲染中GPU可以快速访问这些数据)
2.设置渲染状态