Home

Awesome

license PRs Welcome

Temporal Anti-Alasing for Unity’s Universal Render Pipeline

This Temporal Anti-Aliasing package provides Temporal Anti-Aliasing for Unity's Universal Render Pipeline. It jitters the camera's projection before the whole rendering process, which can samples different surfaces between adjacent frames. Temporal Anti-Aliasing pass can then be enabled to smooth to achieve better band-limiting image after the transparent rendering with the provided Temporal Anti-Aliasing Volume Component for Scriptable Render Pipeline's Volume system, supported by default in Universal Render Pipeline.

Instructions

Requirements

Motivations

Unity's default Temporal Anti-Aliasing(TAA) has some problems in Universal Render Pipeline (URP). Natively, URP does not support TAA while Unity PostProcess V2 does support. However, PostProcess V2's support fails for TAA because it cannot jitter the camera in the ScriptableRenderPipeline [PostProcessLayer.cs] line:996(https://github.com/Unity-Technologies/PostProcessing/blob/v2/PostProcessing/Runtime/PostProcessLayer.cs) In the Frame Analysis, we also find there is no jitter in the native PostProcess V2 TAA pass.

TAA_PP_Failed

Result (4x scale ZoomIn)

NOAA.png TAA:

TAA.png

FXAA:

FXAA.png

MSAA2x:

MSAA2x.png

MSAA4x: MSAA4x.png