应用阶段--->几何阶段---->光栅化阶段---->逐片元操作----->后处理
1,应用阶段:粗粒度剔除,进行渲染设置,准备基本数据,输出到几何阶段。
2,几何阶段:顶点着色器,曲面细分,几何着色器,顶点裁剪,屏幕映射。
3,光栅化阶段:三角形(点/线)设置,三角形(点/线)遍历,片元着色器。
4,逐片元操作:裁剪测试,透明度测试,深度测试,模板测试,混合。
5,后处理。
应用阶段:Application stage
3个主要任务(这个阶段以开发者为主导,由CPU来实现。):
1,准备好场景数据。如,摄像机位置,视椎体,场景中包含的模型,光源etc。
2,粗粒度(Culling)剔除。为了提高渲染性能。
3,设置好每个模型的渲染状态。(渲染状态包括但不限于使用texture--diffuse, reflection etc. Bipmap,Shader)
这个阶段最重要的输出是渲染所需的几何信息-----渲染图源(Rendering Primitives)
几何阶段:Geometry Stage
顶点着色器:计算顶点光照(要计算顶点光照,就需要知道光源的位置,朝向以及摄 像机的位置和朝向,顶点当前世界的位置。当前顶点位置又要知道顶点在模型空间的 位置,以及模型本身的PSR)。