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