关于渲染管线,说实话现在网上有很多种说法,我最开始接触渲染管线的时候,得到的流程是这样:
1.顶点着色器:计算模型顶点的位置信息,并且转换到剪裁空间
2.光栅化:对这些顶点设置三角形,遍历这些三角形,然后将其转化为离散屏幕像素点的过程
3.片段着色器:采样并决定屏幕像素最终的颜色,并进行alpha测试,模版测试,深度测试,混合等操作
直到后面有一次我去面试才知道原来还有另一种说法(其实这就是实时渲染第三版所定义的):
1.应用阶段:CPU整理好数据给GPU发送drawcall指令
2.几何阶段:也就是顶点着色,然后转换到剪裁空间,并映射到二维屏幕空间
3.光栅化阶段:也就是设置遍历三角形,然后经过片段着色器着色,再进行alpha测试,模版测试,深度测试,混合等操作
不过我前段时间看了实时渲染第四版,这个被奉为图形学和实时渲染的圣经,它也是对这个渲染管线做了进一步的定义:
1.应用阶段
2.几何阶段
3.光栅化阶段:设置遍历三角形
4.像素处理阶段:片段着色器着色,再进行alpha测试,模版测试,深度测试,混合等融合操作
目前的话我们还是以这个定义作为渲染管线的标准