渲染流水线

应用阶段(CPU)

  • 主要任务
    • 手动准备好场景数据,摄像机位置,视椎体(摄像机可见的范围),包含哪些模型,使用哪些光源等。
    • 把不可见的物体,剔除出去
    • 设置模型的渲染状态,包括材质(漫反射颜色,高光反射颜色,使用的纹理,Shader等
  • 作用
    • 输出几何信息,即渲染图元(点,线,三角面等)
  • 阶段
    • 把数据加载到显存
    • 设置渲染状态
    • 调用DrawCall(渲染命令)

几何阶段(GPU)

  • 主要任务
    • 主要处理要绘制的几何相关的事情,例如,需要绘制的图元是什么,怎么,在哪绘制他们,几何阶段负责和每个渲染图元打交道
    • 输出屏幕的二维顶点坐标,每个顶点对应的深度值,着色等相关信息,并传递给下一个阶段
  • 阶段
    • 得到顶点数据后,顶点着色器
    • 屏幕映射,所有图元的坐标转到屏幕坐标系

光栅化(GPU)

  • 主要任务
    • 通过上一个阶段的数据来产生屏幕上的像素
  • 阶段
    • 三角形设置,三角形遍历
    • 片元着色器