临时抗锯齿(TAA)
Temporal anti-aliasing (also known as TAA) is a anti-aliasing technique to reduce temporal aliasing (flickering or shimmering effects). This technique can be combined with FXAA for better quality. 临时抗锯齿(也称为 TAA )是一种抗锯齿技术,可以减少临时锯齿(闪烁或闪烁效果)。可以将此技术与 FXAA 结合使用以获得更好的质量。
ISS without TAA.没有TAA的ISS。
|
ISS with TAA.带有TAA的ISS。
|
TAA FeaturesTAA功能#
Unlike Multisample anti-aliasing (MSAA) that performs anti-aliasing only on edges of polygons (and makes this edges smoother), Temporal anti-aliasing applies smoothing to the whole scene. In case of full deferred rendering (when the final image is composed of different texture buffers: depth, normal, etc.), MSAA will increase performance costs, because Multisample anti-aliasing should be applied to each texture buffer.与仅在多边形的边缘上执行抗锯齿处理(并使该边缘更平滑)的 Multisample anti-aliasing (MSAA)不同,时间抗锯齿处理将平滑应用于整个场景。如果完全延迟渲染(最终图像由不同的纹理缓冲区(深度,法线等)组成),则MSAA将增加性能成本,因为应将Multisample抗锯齿应用于每个纹理缓冲区。
How TAA worksTAA如何运作#
The main concept of temporal anti-aliasing is to use a subpixel jitter of scene camera every frame and then combine all this frames into the final image. So, it will take time to get a smoothed picture (for example, 5-7 frames), but with the frequency of 60 frames per second it will look seamlessly.时间抗锯齿的主要概念是每帧使用场景相机的子像素抖动,然后将所有这些帧组合为最终图像。因此,要花一些时间才能获得平滑的图片(例如5-7帧),但是以每秒60帧的频率,它将看起来是无缝的。
During rasterization process, there is a test whether the object will get into pixel or not. And the object will not be rendered if it doesn't occupy a major part of a pixel.在栅格化过程中,将测试对象是否会进入像素。如果对象不占据像素的主要部分,则不会渲染该对象。
And here we can get an error, when we have a sphere object before rasterization and get a square object after, because some parts of the sphere doesn't occupy enough pixel space.在这里,当我们在光栅化之前有一个球体对象而在栅格化之后得到一个方形对象时,我们会得到一个错误,因为球体的某些部分没有占据足够的像素空间。
Not a very good rendering, right? And temporal anti-aliasing solves this problem, because camera will have a subpixel jitter, and each part of this sphere at least once will be rendered in a frame. And after combining these frames, we will get a true sphere, not a square! Voila!效果不是很好,对吧?时域抗锯齿解决了这个问题,因为相机会出现亚像素抖动,并且该球体的每个部分至少会在一个帧中渲染一次。合并这些框架后,我们将得到一个真正的球体,而不是正方形!瞧!
Ghosting重影#
This anti-aliasing technique works perfectly for static scenes (without any moving objects). But when objects are moving, frames will significantly differ one from another and we will see a trail of "ghosts" of the moving object. This effect is called ghosting.这种抗锯齿技术非常适合静态场景(没有任何移动物体)。但是,当物体移动时,框架会彼此明显不同,我们将看到运动物体的“重影”痕迹。这种效果称为 ghosting 。
To get rid of ghosting, there is a velocity buffer. Velocity buffer stores information about transformations of objects. Due to this buffer, the engine knows about the object transformation and don't render the "ghosts" of the moving object. Also, the engine checks the color intensity of the pixel, because of camera jitter.为了消除重影,有一个速度缓冲器。速度缓冲区存储有关对象转换的信息。由于有了这个缓冲区,引擎知道对象的变换,并且不渲染移动对象的“鬼影”。此外,由于相机抖动,引擎还会检查像素的颜色强度。
Summary概要#
TAA has a wide scope of usage, because it improves whole image (not only the edges of the geometry, like MSAA) including geometry, shadows, etc. It greatly reduces all the problems, and does not cut the performance down, working well with both static and dynamic images. However, keep in mind that the key factor of good TAA performance is optimized content of the scene: the higher FPS is, the faster temporal anti-aliasing smooths the scene. In addition to this, UNIGINE allows you to choose the type of anti-aliasing: TAA or FXAA, or combine them both for better image quality (FXAA is applied before temporal summing). TAA的使用范围很广,因为它可以改善整个图像(不仅是几何图形的边缘,例如MSAA),包括几何图形,阴影等。它可以大大减少所有问题,并且不会降低性能,与静态和动态图像均能很好地工作。但是,请记住,良好的TAA性能的关键因素是场景的优化内容:FPS越高,临时的抗锯齿效果使场景平滑的速度就越快。除此之外,UNIGINE允许您选择抗锯齿的类型: TAA 或 FXAA ,或将两者组合使用以获得更好的图像质量(在时间求和之前应用FXAA。)
TAA AdjustmentTAA调整#
Temporal Anti-Aliasing (TAA) settings are available for adjustment via the Render -> Antialiasing section of the Settings window, along with SRAA, Fast approXimate Anti-Aliasing (FXAA) and Supersampling settings. The following settings are available when the Custom preset for Anti-Aliasing is selected.临时抗锯齿(TAA)设置可通过Settings窗口的Render -> Antialiasing部分以及快速近似抗锯齿(FXAA)和 Supersampling 进行调整设置。
日期设定#
TAA | 启用和禁用TAA。 |
---|---|
Fix Flicker | 通过使用上一帧的像素亮度信息来删除明亮的像素。我们建议为明亮的细绳,电线和线启用此选项。但是,启用后,可能会通过去除小的明亮物体而产生伪影。
可以由 render_taa_fix_flicker 控制台命令控制。 |
Frames By Color | 随时间切换可变数量帧的累积,具体取决于当前帧与先前帧之间的像素色差。如果当前帧中的像素颜色与前一帧的像素颜色有很大不同,则在TAA期间不会合并和混合这些帧。启用后,图像会变得更清晰,但可能会产生额外的闪烁,细小的物体可能会模糊(例如,草皮,金属结构,电线等)。
禁用此选项可能会导致更明显的重影效果。
可以通过 render_taa_frames_by_color
控制台命令进行控制。 |
Fix Blur | 开启和关闭Catmull-Rom重采样。该选项使您可以减少相机向前/向后移动时的图像模糊,从而获得更清晰的图像。建议在低设置下禁用重采样。
可以通过 render_taa_catmull_resampling 控制台命令进行控制。 |
Antialiasing In Motion | 切换打开和关闭时改进的运动抗锯齿(用于移动相机和对象)。
可以通过 render_taa_antialiasing_in_motion 控制台命令进行控制。 |
Diagonal Neighbors | 在啟用和禁用顏色箝位的過程中考慮對角線相鄰的像素進行切換。 |
Preserve Details | 控制TAA细节级别:值越高,图像越详细。值为 0 时,移动相机时图像变得模糊,但是TAA效果更好。高值时,此选项可能会产生额外的闪烁。因此,要提高抗锯齿效果,可以减小该值;最小化模糊-增加它。
可以通过 render_taa_preserve_details 控制台命令进行控制。 |
Frame Count | 指定在TAA计算期间合并和混合的帧数。值越高,将更多帧合并到最终图像中,抗锯齿效果越好。
|
Pixel Offset | 指定子像素抖动期间执行的样本偏移的大小。此参数允许指定小于像素的偏移量:例如,如果指定 0.5 ,则帧将移动到半像素。该参数可以减少屏幕上小元素的闪烁。
可以通过 render_taa_pixel_offset 控制台命令进行控制。 |
TAA Samples | 指定在子像素抖动期间执行的采样偏移数。通过 1 的最小值,没有偏移,因此没有抗锯齿。该参数允许减少图像抖动和模糊。可用值是 1 , 4 , 8 和 16 。
可以通过 render_taa_samples 控制台命令进行控制。 |
速度帧
Enabled | 随时间切换累积数量可变的帧,具体取决于当前帧与先前帧之间的像素速度差。考虑到速度缓冲器,执行前一帧像素的重投影,并将结果与当前帧的像素合并。
此选项可减少带有大量运动对象的动态场景中的模糊和重影。
可以通过 render_taa_frames_by_velocity
控制台命令进行控制。 |
---|---|
Threshold | 指定阈值,该阈值定义对速度变化的敏感性(将像素视为快速移动的速度阈值)。
可以通过 render_taa_frames_velocity_threshold 控制台命令进行控制。 |
Max Frame Count | 设置相对于屏幕空间不移动的像素组合和融合的帧数。
可以通过 render_taa_max_frames_by_velocity 控制台命令进行控制。 |
Min Frame Count | 设置组合和融合的帧数,以实现屏幕上快速移动的像素。
可以通过 render_taa_min_frames_by_velocity 控制台命令进行控制。 |
Recommendations推荐建议#
As you can see TAA has a lot of settings enabling you to adjust it for relatively static scenes as well as for dynamically changing environments.如您所见,TAA具有许多设置,使您可以针对相对静态的场景以及动态变化的环境进行调整。
Static Scenes静态场景#
Below is an example of TAA settings for relatively static scenes.下面是相对静态场景的TAA设置示例。
- The Diagonal Neighbors option should be enabled, as it provides more accurate pixel color information reducing the stair-step effect. At the same time TAA causes more blurring is case of fast camera movement, which is especially noticeable on grass and other similar high-contrast screen areas.应该启用Diagonal Neighbors选项,因为它提供了更准确的像素颜色信息,从而减少了阶梯效应。同时,在快速移动相机的情况下,TAA会导致更多的模糊,在草地和其他类似高对比度屏幕区域上尤其明显。
- Preserve Detail value is decreased to reduce flickering of small pixels.降低Preserve Detail值以减少小像素的闪烁。
- The number of TAA Samples is set to 16, which increases the number of variants for subpixel camera jittering, thus making the stair-step effect even less noticeable. TAA样本的数量设置为 16 ,这会增加子像素相机抖动的变化数量,从而使阶梯效果更加不明显。
Dynamic Scenes动态场景#
Below is an example of TAA settings for very dynamic scenes where trails from thin objects are especially noticeable.以下是非常动态的场景中TAA设置的示例,在这种场景中,薄物体的踪迹特别明显。
- The Diagonal Neighbors option should be turned off, as it may result in significant blurring of small details in motion.应该关闭Diagonal Neighbors选项,因为它可能导致运动中的小细节明显模糊。
- Increase the Preserve Details value up to 1 or higher to reduce ghosting effect for moving objects.将Preserve Details值提高到 1 或更高,以减少移动对象的重影效果。
- Set TAA Samples value to 4 to reduce flickering of small pixels when the camera does not move.将TAA Samples值设置为 4 ,以减少相机不移动时小像素的闪烁。
- It is also recommended to reduce Max Frame Count to 60 or lower, to accumulate less frames for slow motion, reducing the ghosting effect.还建议将Max Frame Count降低到 60 或更低,以减少帧累积以进行慢动作,从而减少重影效果。