Unity TAA和动态模糊比较

        TAA是一种时域的AA,跟动态模糊有相似的点,又有不同的地方,如果不熟悉的话建议先看一下之前写的动态模糊介绍Unity动态模糊理论和实现_paserity的博客-CSDN博客

        动态模糊和TAA都需要跟历史帧做Blend,但目的不一样,前者是达到跟历史像素平均模糊的效果,而TAA则是只想融合一个像素点内部不同位置,用来提高采样质量减少走样。

        动态模糊和TAA也都需要考虑重投影,但是在这个地方两者的目的是相反的。对于动态模糊,重投影是为了跟历史帧融合。而对于TAA,我们不想要出现模糊,而是希望精确地只考虑同一个位置。所以在使用速度向量时,两者的使用方式是完全相反的。

         如上图,其中P1是当前像素点,重投影得到上一帧的P3像素点。设P4是上一帧中的和P1具有相同的UV的点(对应相机的同一个像素点),并且可以由P2重投影得到。其中速度向量V=P2-P1=P4-P3。

        考虑当前帧与上一帧进行混合,在动态模糊的场景,我们的计算是:

\frac{1}{2}*(P1+P1+(P4-P3)) = \frac{1}{2}*(P1+P2)

        而在TAA场景,我们的计算是

\frac{1}{2} * (P1+P1-(P4-P3))=\frac{1}{2} * (P1 +P3)

        所以说,动态模糊是对相同像素位置不同空间位置像素的混合,TAA则是对相同空间位置不同像素位置的混合。

猜你喜欢

转载自blog.csdn.net/paserity/article/details/129677179