技术美术知识学习4400:抗锯齿概论

学习教程来自:【技术美术百人计划】图形 4.4 抗锯齿概论

笔记

1. 锯齿是怎么产生的

从几何着色器阶段到光栅化的过程中,产生的走样

2. 基本的抗锯齿

2.1 MSAA(Multisample Anti-aliasing)

增加采样点,再平均

MSAA

多一句,采样点会根据覆盖的情况自动调整(原文This position adjustment is called centroid sampling or centroid interpolation and is done automatically by the GPU, if enabled.)

2.2 SSAA(Super Sample Anti-aliasing)

渲染4x或更高倍数,再下采样

3. 更多的抗锯齿

MSAA的衍生,时间消耗是其的多倍

3.1 TemporalAA(Temporal Anti-aliasing)

  1. 每帧采样一次,并继承了MSAA的偏移,当前帧平均前几帧的采样结果
  2. 使用motion vector保存帧之间的偏移,判断当前像素是不是具有前几帧的值,没有的话就不能平均(比如新出现的像素)

3.2 FXAA(Fast Approximate Anti-aliasing)

后处理的方式,利用卷积进行边缘检测、模糊,最后混合

3.3 以上速度排序

FXAA->TemporalAA->MSAA->SSAA

3.4 更多其他的抗锯齿

渲染方式名称
前向渲染SSAA、MSAA、CSAA、RGSS等
延迟渲染FXAA、MLAA、SMAA等
时间域上的抗锯齿TAA、TXAA
基于深度学习的抗锯齿DLAA

作业

1. 对比各个抗锯齿方案的优劣(从效果、效率2个方面)

2. 各个方案的真机测试

建议:尽量达到瓶颈状态下的测试

我测试了下SSAA FXAA,可能我是高通骁龙865的处理器,2个算法都在0.1ms左右完成了Anti aliasing,帧率上几乎没有变化


FXAA

SSAA

原理上看,SSAA确实平均了一些像素,而FXAA则让边界更加模糊了

SSAA FXAA 无AA

针对我这个场景远看几乎是没有差别的,不过细节上还是有点差别的,比如SSAA只是单纯的增加了采样次数,会导致我的场景中的一些树枝连接不上了,而FXAA则会使得边缘更平滑,也不会造成中断的问题。

FXAA更平滑些

所以我这个场景可能更适合FXAA,这种抗锯齿的算法确实需要针对不同的场景进行一些调整,效果上的优劣要具体问题具体分析了
(目前的话只做了这2个算法的测试,以后碰到具体的情景再慢慢补充这部分吧)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值