目录
前言
锯齿是当顶点三角形覆盖离散的屏幕像素不完全导致的。本质上是因为不同频率信号之间转换之后造成的数据失真。因此锯齿现象也被称为走样(Aliasing)。常见的走样有几何走样,着色走样、动画走样。消除锯齿现象的技术就是抗锯齿,也被称为反走样(Anti- Aliasing,AA)。
解决锯齿的方法:
- SSAA
- MSAA
- TAA
- MFAA
- FXAA
P1
SSAA
通过超采样,渲染远高于当前屏幕像素值的纹理,再降采样回原来的纹理,可以得到完美的抗锯齿效果,性能消耗幂的倍数上升。
MSAA
在光栅化阶段,通过采样三角形覆盖像素点的多个覆盖样本,决定片元着色时的颜色计算。
TAA
相当于时序化的MSAA,将MSAA中的多次采样过程分散到不同的帧上,需要用motionVector去计算帧像素的偏移。
MFAA
多帧采样抗锯齿可以实现4x MFAA 的画质于 4x MSAA 相当,但只需要 2x MSSAA 相当的性能开销。
FXAA
利用边缘检测获取高频信号,再通过滤波进行边缘模糊
P2
抗锯齿种类 | 是否支持延迟渲染 | 性能耗费 | 抗锯齿表现 | 测试的不良表现 | 性价比 |
MSAA | 否 | 中 | 良 | 无 | 中 |
SSAA | 是 | 高 | 优 | 无 | 低 |
FXAA | 是 | 低 | 良 | 画面会糊 | 高 |
TAA | 是 | 低 | 良 | 会有闪烁表现 | 高 |