图形学-渲染管线
渲染管线
渲染管线功能
- 将物体3D坐标转换为屏幕空间2D坐标
- 为屏幕每个像素点进行着色
渲染管线的流程
顶点数据输入->顶点着色器->曲面细分过程->几何着色器->图元组装->裁剪剔除->光栅化->片段着色器以及混合测试
- 顶点着色器:主要进行坐标变换
- 曲面细分过程:主要对三角面进行细分,分成更细或者更大的三角面
- 几何着色器:主要讲输入的点或者线扩展成多边形
- 图元组装: 将输入的顶点组装成指定的图元。图元组装阶段会进行裁剪和背面剔除相关的优化,以减少进入光栅化的图元的数量,加速渲染过程。
- 光栅化:将物体坐标变换到窗口坐标。光栅化是一个离散的过程,将3D连续的物体转换为离散屏幕像素点的过程。
- 片段着色器:用于决定屏幕上像素的最终颜色。这个阶段会进行光照计算以及阴影处理,是渲染管线高级效果产生的地方。
- 测试混合阶段:测试包括裁切测试、Alpha测试、模版测试和深度测试。Alpha混合可以根据片段的alpha值进行混合,用于产生半透明的效果。