Anti-aliasing

2020-01-14  本文已影响0人  上善若水_2019

中文译作抗锯齿,当然抗锯齿不止可以用后处理来实现,一般显卡里也自带了硬件抗锯齿。抗锯齿是用于防止锯齿的一系列算法,能让画面表现更加平滑。锯齿,是一种在线条上出现的凹凸不平处或者给人一种“楼梯”感(如下图),这种情况发生在图形输出硬件没有足够高的分辨率来显示一根线条的时候。
抗锯齿技术是在那些锯齿形的地方用颜色作为填充过渡,减少了这些线条边缘明显的锯齿感。虽然锯齿感减少了,但模糊感却增加了。

此处的抗锯齿算法是基于图片的算法,所以当传统的多重采样技术没有被很好的支持或者涉及到重度利用spcular属性的PBR材质,这种算法显得尤为有用。
有三种算法在这个插件里会被用到:
1.Fast Approximate Anti-aliasing (FXAA)
2.Subpixel Morphological Anti-aliasing (SMAA)
3.Temporal Anti-aliasing (TAA)

Fast Approximate Anti-aliasing

FXAA是性能消耗最小的抗锯齿算法,移动平台推荐使用,那些不支持Motion Vectors(运动矢量)的平台需要使用TAA。

参数特性
参数 功能
Fast Mode 降低FXAA品质但速度更快,移动平台强烈推荐
Keep Alpha 开启后后处理将不会应用于Alpha通道,否则会用这个通道存储一些内部数据来进行加速和提升视觉品质
性能表现

Fast Mode在移动平台以及Nintendo Switch平台需要被开启,因为比起普通模式,它能显著提高性能。Xbox One和PS4也会从中得到一些好处,不过,在桌面级GPU下,开不开没有区别。

使用要求

Shader Model 3

Subpixel Morphological Anti-aliasing

SMAA比FXAA强大一点,不过性能消耗也大些。根据游戏艺术风格的不同,它可以像TAA一样起效,同时避免了一些该技术的缺点。

参数特性
参数 功能
Quality 调整抗锯齿的品质
表现

品质越低则性能消耗越小。移动平台不推荐使用。

已知问题和限制

SMAA不支持AR/VR

使用要求

Shader Model 3

Temporal Anti-aliasing

TAA是一种更高级的抗锯齿技术,它将数帧时间累积起来的画面放到一个缓冲区中,来进行高效的边缘平滑处理。动态时它能显著提高边缘平滑的程度但这需要运动矢量被提供,所以它比FXAA要来的代价大。基于此,PC和主机平台推荐使用此种技术。

参数特性
参数 功能
Jitter Spread 抖动采样扩展而成的直径(在纹素中)。值越小则输出越生硬,锯齿越多;而值越大则会使输出更稳定却更模糊
Stationary Blending 静止片元的混合系数。控制着历史采样混入最终具有最小活动片元颜色的百分比
Motion Blending 运动片元的混合系数。控制着历史采样混入最终具有显著活动片元颜色的百分比
Sharpness TAA在高频区域会轻微地丢失一些细节。这个参数减少了这种细节的丢失
已知问题和限制

不支持GLES2平台

使用要求

运动矢量
深度贴图
Shader Model 3

参考
https://github.com/Unity-Technologies/PostProcessing/wiki/Anti-aliasing

上一篇下一篇

猜你喜欢

热点阅读