UnigineEditor
界面概述
资产工作流程
设置和首选项
项目开发
调整节点参数
Setting Up Materials
Setting Up Properties
照明
Landscape Tool
Sandworm (Experimental)
使用编辑器工具执行特定任务
Extending Editor Functionality
编程
基本原理
搭建开发环境
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes

Subpixel Reconstruction Anti-Aliasing (SRAA)

Subpixel Reconstruction Anti-Aliasing (SRAA) is an additional anti-aliasing technique that restores small image details. It also provides a net speedup and minimal overhead compared to supersampling. It is recommended to combine this technique with TAA for better anti-aliasing quality. Subpixel Reconstruction Anti-Aliasing (SRAA)是附加的抗锯齿技术,可还原较小的图像细节。与超级采样相比,它还提供了净加速和最小的开销。建议将此技术与 TAA 结合使用,以获得更好的抗锯齿质量。

How SRAA worksSRAA如何运作#

SRAA is used in deferred rendering to achieve high-quality anti-aliasing by sampling geometry at higher resolution than shading, since shading usually changes more slowly than geometry. SRAA用于延迟渲染中,通过以比底纹更高的分辨率对几何进行采样来实现高质量的抗锯齿效果,因为底纹通常比几何形状变化更慢。

There are two stages in SRAA: SRAA分为两个阶段:

  1. Depth prepass multisampling generates depth position information at subpixel resolution. Subpixels are subdivision cells of a pixel. Depth prepass samples the geometry in the screen-space and stores samples’ position information in a G-buffer. 深度预通过多重采样以子像素分辨率生成深度位置信息。子像素是像素的细分单元。深度预通过对屏幕空间中的几何进行采样,并将采样的位置信息存储在G缓冲区中。
  2. Reconstruction pass uses the custom filter after the deferred shading to refine the shading results and output a screen-resolution, antialiased frame. In the picture below you can see how the SRAA reconstructs one subpixel. At each geometric sample, all shaded neighbors in a fixed radius are considered and their values are interpolated using our custom filter with weights to restore subpixel details. A neighboring sample with significantly different depth is considered to be across a geometric edge (blue line), and receives a low weight. The filter weights estimate distance between source and target samples by comparing their depth values. 延迟着色后的 重建过程使用自定义的 filter 来优化着色结果并输出屏幕分辨率的抗锯齿帧。在下面的图片中,您可以看到SRAA如何重建一个 subpixel 在每个几何样本中,均会考虑固定半径内所有阴影邻居,并使用我们的自定义滤镜对它们的值进行插值,以权重还原子像素细节。深度明显不同的相邻样本被认为是跨越几何边缘(蓝线),并且重量轻。过滤器权重通过比较源样本和目标样本的 depth 值来估计它们之间的距离。

UNIGINE's implementation of SRAA uses a depth threshold method to identify areas of the frame with edges. This way we eliminate the blur problem that comes from applying a smoothing filter to areas with no depth variation. Despite the fact that this approach uses only depth it keeps acceptable quality and represents a good trade-off for the sake of performance. UNIGINE对SRAA的实现使用深度 threshold 方法来识别带有边缘的帧区域。这样,我们消除了由于对没有深度变化的区域应用平滑滤镜而引起的模糊问题。尽管该方法仅使用深度,但仍保持可接受的质量,并且为性能起见,是一个很好的折衷。

Pros and Cons of SRAA:
     + Subpixel details and geometry reconstruction.
     - Costs performance.
SRAA的优缺点:
     + 具有固定的运行时间,与场景和图像的复杂性无关。
     - 性价比。

SRAA AdjustmentSRAA调整#

Subpixel Reconstruction Anti-Aliasing (SRAA) settings are available for adjustment via the Render -> Antialiasing section of the Settings window, along with Fast approXimate Anti-Aliasing (FXAA), Temporal Anti-Aliasing (TAA) and Supersampling settings. Subpixel Reconstruction Anti-Aliasing (SRAA)设置可通过Settings窗口的Render -> Antialiasing部分以及快速近似抗锯齿(FXAA)临时抗锯齿(TAA)进行调整。和 Supersampling 设置。

SRAA Settings

Anti-Aliasing Settings抗锯齿设置

SRAA SettingsSRAA设置#

SRAA Toggles SRAA on and off.
注意
Can be controlled by render_sraa console command.Can be controlled by render_sraa console command.
Can be controlled by render_sraa console command.
开启和关闭SRAA。
注意
Can be controlled by render_sraa console command.可以通过 render_sraa 控制台命令进行控制。
Samples The number of depth geometry samples per pixels. Greater values enhance the anti-aliasing effect but can cause drops in performance.
注意
Can be controlled by render_sraa_samples console command.Can be controlled by render_sraa_samples console command.
Can be controlled by render_sraa_samples console command.
每个像素的深度几何样本数。较大的值可增强抗锯齿效果,但会导致性能下降。
注意
Can be controlled by render_sraa_samples console command.可以通过 render_sraa_samples 控制台命令进行控制。
Depth Threshold Depth threshold for edges detection that specifies the area for the SRAA processing. Turn on the debug mode and adjust this parameter in such a way that covers the required edges but at the same time leaves out the unnecessary geometry in the scene.
注意
Can be controlled by render_sraa_depth_threshold console command.Can be controlled by render_sraa_depth_threshold console command.
Can be controlled by render_sraa_depth_threshold console command.
边缘检测的深度阈值,用于指定SRAA处理的区域。打开调试模式并以覆盖所需边缘的方式调整此参数,但同时省去了场景中不必要的几何图形。
注意
Can be controlled by render_sraa_depth_threshold console command.可以通过 render_sraa_depth_threshold 控制台命令进行控制。
Show Debug Shows the geometry edges smoothed by the SRAA.
注意
Can be controlled by render_sraa_debug console command.Can be controlled by render_sraa_debug console command.
Can be controlled by render_sraa_debug console command.
显示通过SRAA平滑的几何边缘。
注意
Can be controlled by render_sraa_debug console command.可以通过render_sraa_debug控制台命令进行控制。
Use TAA Specifies if the SRAA should use the shading sample from the previously rendered frame to achieve correct anti-aliasing. It is recommended to use this option by default.
注意
  • Uses camera jittering, so it works only when the TAA is enabled.Uses camera jittering, so it works only when the TAA is enabled.
  • Can be controlled by render_sraa_temporal console command.Can be controlled by render_sraa_temporal console command.
Uses camera jittering, so it works only when the TAA is enabled.Can be controlled by render_sraa_temporal console command.
指定SRAA是否应使用先前渲染的帧中的阴影样本来实现正确的抗锯齿。建议默认使用此选项。
注意
  • Uses camera jittering, so it works only when the TAA is enabled.使用相机抖动,因此仅在启用 TAA 时起作用。
  • Can be controlled by render_sraa_temporal console command.可以通过render_sraa_temporal控制台命令进行控制。
最新更新: 2020-10-10