渲染管线流程示意图
- 渲染流水线的目的在于渲染一张二维纹理,将数学和图形数据转换成3D空间图像
- 一维或二维的实体或表面,如点、直线和多边形称为图元
- 几何阶段的一个重要任务是把顶点坐标变换到屏幕空间,涉及到的空间转换如图,
- 光栅化阶段的主要任务是决定每个渲染图元中哪些像素应该被绘制在屏幕上,并实际绘制或填充每个顶点之间的像素形成线段
- 所有渲染所需的数据都需要从硬盘(HDD)中加载到系统内存(RAM)中,然后网格和纹理等数据又被加载到显卡上的存储空间——显存(VRAM)中,因为显卡对于显存的访问速度更快,而且大多数显卡对于RAM没有直接的访问权利
- 顶点着色器的输入是存储在顶点缓冲对象中的顶点数据,独立处理每个顶点,主要任务是进行坐标变换
- 片元着色器的输入是顶点着色器输出的顶点信息插值得到的结果,而输出是一个或者多个颜色值
- 不管一个片元有没有通过模板测试,开发者都可以根据模板测试和深度测试结果修改模板缓冲区,而如果一个片元没有通过深度测试,不会更改深度缓冲区的值