第二章

渲染流水线是《Tral-Time Rendering, Third Edition》中划分的渲染流程的三个阶段,是概念流水线: 应用阶段->集合阶段->光栅化阶段

  • 应用阶段:开发者有绝对控制权。开发者需要准备好场景数据,进行粗粒度剔除以剔除不可见物体,并设置好每个模型的渲染状态。
  • 几何阶段:处理所有与待绘制的几何相关的事情。通常在 GPU 上进行。
  • 光栅化阶段:使用上个阶段传递的数据来产生屏幕上的像素,并渲染出最终的图像。在 GPU 上进行。

GPU 流水线是硬件真正用于实现上述概念的流水线。 应用阶段的 3 个阶段(大致):

  1. 把数据加载到显存中。
    • 将渲染所需数据从 HDD 加载到内存 RAM 中,然后将网格和纹理等数据加载到显存 VRAM 中。
  2. 设置渲染状态。
    • 定义场景中的网格渲染方式,如使用哪个顶点着色器(Vertex Shader)/片元着色器(Fragment Shader)、光源属性、材质等。
  3. 调用 Draw Call。
    1. CPU 向 GPU 发出指令,指向给定的图元(primitives),让 GPU 开始渲染。