一、渲染流水线的三大步骤
渲染流水线分为三个阶段:应用阶段、几何阶段、光栅化阶段
二、应用阶段
1)第一步:将数据从硬盘加载到内存再加载到显存
2)第二步:设置渲染状态
通俗地解释渲染状态:渲染状态定义了场景中的网格是怎么被渲染的,比如用哪个着色器、光源、材质等
3)第三步:Draw Call
Draw Call 是由CPU向GPU发出的命令,GPU就会渲染CPU所指定的对象
三、几何阶段
开发者没有几何阶段的绝对控制权,但开发者有部分控制器
以下为按顺序的步骤:
1)顶点着色器
顶点着色器是可编程的
从cpu输入的每个顶点都会经过顶点着色器处理
顶点着色的主要工作:坐标变换(把顶点坐标转换到齐次裁剪空间)、逐顶点光照
2)曲面细分着色器(可选)
可编程,用于细分图元
3)几何着色器(可选)
可编程,用于执行逐图元着色、或被用于产生更多图元
4)裁剪
这是硬件的固定操作,无法控制
摄像机的视野范围有可能不会覆盖全部的场景
该步骤将应该看不见的物体裁剪
5)屏幕映射
这一步的功能是将每个图元的x、y左边转换到屏幕坐标系下
四、光栅化阶段
1)三角形设置
将三角形的顶点光栅化为三角形边的端点
2)三角形遍历
检查像素是否被三角形覆盖、如果是就生成一个片元
3)片元着色器
通俗地说,它改变每个像素的颜色
4)逐片元操作
这一阶段被称为输出合并阶段