TAA (Temporal Anti-Aliasing) 是近年来商业引擎最流行的几种反走样算法之一。它以后处理的方式融入渲染流,良好的抗锯齿效果以及与延迟渲染的适配,使得业界游戏非常乐于采取这种抗锯齿方式。
TAA 开山作 Amortized Super Sampling 名称较为直观:样本点分摊在时域上的超采样。
虽然称为反走样技术,但个人更愿意将 TAA 看作一个通用的流程,任何想复用时域上像素信息的算法,都可以套入该流程里。
为了便于理解,我们分主体思想和实现细节两部分讲解:
第一部分主要是为了帮助理解 TAA 的主要思想;第二部分为主体思想补充实现细节。两部分组合起来 Cover 了当前商用游戏引擎中 TAA 的实现流程。
TAA 主体思想
相机抖动
相机抖动是 TAA 能够反走样最本质原因。相机随时间抖动过程中,引入了额外的子像素信息,对子像素的融合,使我们在时域上获得超采样的效果,静态场景中效果与 SSAA 一致。
投影矩阵添加偏移量,使得光栅化的位置发生偏移。