渲染流水线
应用阶段(CPU)
- 主要任务
- 手动准备好场景数据,摄像机位置,视椎体(摄像机可见的范围),包含哪些模型,使用哪些光源等。
- 把不可见的物体,剔除出去
- 设置模型的渲染状态,包括材质(漫反射颜色,高光反射颜色,使用的纹理,Shader等
- 作用
- 输出几何信息,即渲染图元(点,线,三角面等)
- 阶段
- 把数据加载到显存
- 设置渲染状态
- 调用DrawCall(渲染命令)
几何阶段(GPU)
- 主要任务
- 主要处理要绘制的几何相关的事情,例如,需要绘制的图元是什么,怎么,在哪绘制他们,几何阶段负责和每个渲染图元打交道
- 输出屏幕的二维顶点坐标,每个顶点对应的深度值,着色等相关信息,并传递给下一个阶段
- 阶段
- 得到顶点数据后,顶点着色器
- 屏幕映射,所有图元的坐标转到屏幕坐标系
光栅化(GPU)
- 主要任务
- 通过上一个阶段的数据来产生屏幕上的像素
- 阶段
- 三角形设置,三角形遍历
- 片元着色器