工作原理:TAA 使用当前帧和前几帧的信息,通过时间上的平均来减少锯齿现象。 优点:能够提供高质量的抗锯齿效果,特别适合处理动态场景和复杂的边缘。 缺点:可能会产生运动模糊和鬼影效应,对计算资源要求较高。另外可能会导致图像细节的模糊,特别是在高对比度的边缘区域。 在Unity 中,可以通过在相机组件上添加“Post-Pr...
对于一些重要的原理,他们似乎也没更多的关注。比如TAA对输出的color与depth数据做了抖动,因此在进行其他计算处理的时候要特别小心,任何在TAA环节之后使用非颜色数据(比如深度)的,其效果都可能会导致抖动以及锯齿;任何在TAA环节之前使用了大于3x3的空间滤波算子的,都会加大锯齿程度,从而导致闪烁。” “以DOF效果为例,因为...
抗锯齿问题 传统MSAA(多重采样抗锯齿)在延迟渲染中难以应用,需改用TAA(时间抗锯齿)或后处理抗锯齿(FXAA、SMAA)。 应用场景 游戏引擎:Unity、Unreal Engine等均支持延迟光照/延迟着色模式。 动态光源密集的场景:如夜晚城市、科幻游戏中的复杂光照环境。 需要高级屏幕空间效果:如动态阴影、体积光、环境光遮蔽等。 优化...
使用运动矢量组合两帧,以确定在何处对前一帧进行采样。在每一帧对屏幕区域内的像素进行一个抖动操作,这样当连续的多个帧的数据混合起来以后,就相当于对每个像素进行了多次采样,他将采样点从单帧分布到多个帧上,使得每一帧并不需要多次采样增加计算量,但TAA往往会盲目地跟随移动物体的运动矢量,从而造成屏幕上的细节...
TAA: Jitter Spread:采样分布的范围,越大锯齿感会越少,但同时会更模糊。 Stationary Blending以及Motion Blending:这里涉及原理。TAA利用了当前画面之前的帧数据,从过去的N帧中取得样本然后Filter,达到Super Smapling的效果。而这个N帧的样本并不是单独保存的,而是逐帧按一定比例叠加的,混合方式如下图代码所示: ...
所以需要像SVGF通过自适应核控制核的宽度或者RTX Shadow Denoiser代替图像空间使用世界空间核,对核的长宽方向进行优化,来避免模糊的现象,然后在时间上使用类似TAA的方法收集样本,对于静态场景时间样本是可靠的,所以一边收集一边调整空间核的大小,进一步提高除噪效果,但是运动场景TAA找不到正确的运动向量,会出现鬼影问题,...
还有一个,在手机上我们也使用了blue noise,很多现在的优化都在用,来扰动采样案时间的起始位置,同样也使用Tenporal来叠加每一帧采用的结果。就类似于TAA的一种方式。 并且我们为不同的平台设置了云的IOD,这也可以适配高中低端的手机设备。我们看一下右边。右边是不同配置下的渲染的结果,可以看一下它是从上到下,...
经过这个操作以后,我们再尝试打开TAA。首先选择相机,在抗锯齿部分选择TAA选项,因为我要把这个项目运行在VR设备上,所以选择的是最低质量的TAA。这里我还将反射探针的强度降低到了75%,因为有一些锯齿可能是因为高光效果产生的,我们看下最终抗锯齿的效果,这就是使用TAA做的抗锯齿演示。
(这里面要传一个SceneColor给Shader去做混合。因为前面的Marching阶段Bilt的关系,内置的_MainTex基本变样了,所以手动传递一个SceneColor进去)。在CombientPass利用之前TAA过滤过的RT和传进来的SceneColor以及之前算好的SSRMask进行混合(同时加入Fersnel的计算,比较符合物理现象)。