渲染管线的概念
图形数据在GPU上经过运算处理,最后输出到屏幕的过程,称之为"渲染管线"。
Unity渲染管线分类
Build-In内置渲染管线;
SRP可编程渲染管线:HDRP高质量渲染管线,URP通用渲染管线。
渲染管线的5大阶段
1. 顶点处理:(Vertex Shader)接收模型顶点数据、坐标系转换为屏幕坐标,并进行裁剪,即MVP变换
2. 图元装配:组装面、连接相邻的顶点,绘制为三角面,并根据设置进行面的剔除
3. 光栅化:计算三角面上的像素,并为后面着色阶段提供合理的插值参数(以及深度值)
4. 像素(片元)处理:(Fragment Shader)对每个像素区域进行着色、写入到缓存中
5. 缓存:对每个像素点进行一系列测试,其中包含
裁剪测试:剔除裁剪框外的内容;
alpha测试:剔除超出透明度阈值的内容;
模版测试:由于绘制像素时会出现重复绘制,为保证模版位置仅保留第一次绘制,此时会比较当前模版值与设置值,相等方可通过测试,结果写入模版缓冲区;
深度测试:将深度值小的像素点替换深度值大的像素点,结果写入深度缓冲区;
保留测试通过的像素点,与已经写入帧缓冲区(保留显示在屏幕上的内容)的颜色进行混合(Blending)
如有错误欢迎指正!感谢阅读!