2.1综述
渲染流水线(概念流水线):三维场景—>二期图像。
渲染流程:
应用阶段:CPU负责实现。输出渲染图元(rendering primitives),即渲染所需的几何信息,可以是点、线、三角面等。
几何阶段:GPU上进行。处理所有和我们要绘制的几何相关的事情。
重要任务:将顶点坐标变换到屏幕空间中交给光栅器进行处理。
光栅化阶段:GPU上进行。使用上个阶段的数据产生屏幕上的像素并渲染出最终图像。
任务:决定每个渲染图元中的哪些像素应该被绘制。
2.2 CPU和GPU之间的通信
应用阶段可分为三个阶段:
2.2.1 把数据加载到显存中
渲染所需的数据:硬盘(HDD)->系统内存(RAM)->显存(VRAM)
2.2.2 设置渲染状态
渲染状态:定义场景中的网格如何被渲染。
2.2.3 调用Draw Call
Draw Call:一个由CPU到GPU的命令。指向需被渲染的图元(primitives) 列表。
给定Draw Call后,GPU根据渲染状态和输入的顶点数据进行计算,最终输出 像素。计算过程为如下的GPU流水线。
2.3GPU流水线(实际上的流水线)
2.3.1概述
光栅化阶段重要任务:计算每个图元覆盖了哪些像素,以及为这些像素计算它们的颜色。</