# Temporal Denoiser Settings

## Sample Count

Specifies the number of temporally accumulated frames. More samples lead to better noise reduction with no additional performance cost, while fewer samples make occlusion more reactive.

GTAO's temporal sample count ranges from 0 to 12 samples, while RTAO's range is from 8 to 16 samples due to the lower ray count.

*Performance impact: none*

{% hint style="info" %}
Setting this value to 0 disables temporal denoising for GTAO. In this case, a different dither pattern, more suitable for non-temporal denoising, is automatically applied.
{% endhint %}

{% tabs %}
{% tab title="0 samples (off) \[GTAO]" %}

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2FEvO7UulT7WukfhzcM4O2%2FImage%20Sequence_015_0000.jpg?alt=media&#x26;token=0ba4c780-a7c2-4399-b1e3-8c5108ac3721" alt=""><figcaption><p>AO Intensity and Thickness are intentionally exaggerated in these screenshots to make noise more visible</p></figcaption></figure>
{% endtab %}

{% tab title="4 samples \[GTAO]" %}

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2F1uSukdbnMXRZw68Zz641%2FImage%20Sequence_016_0000.jpg?alt=media&#x26;token=eea61dbb-07fe-46e8-96af-641477a023db" alt=""><figcaption><p>AO Intensity and Thickness are intentionally exaggerated in these screenshots to make noise more visible</p></figcaption></figure>
{% endtab %}

{% tab title="12 samples \[GTAO]" %}

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2FQx4jqTUqGlXl3FEX4F8K%2FImage%20Sequence_017_0000.jpg?alt=media&#x26;token=35e1278f-ef81-4cfb-9285-2fa66eda4514" alt=""><figcaption><p>AO Intensity and Thickness are intentionally exaggerated in these screenshots to make noise more visible</p></figcaption></figure>
{% endtab %}
{% endtabs %}

You can use **Debug Mode** "Temporal Disocclusion" to inspect reprojection. In this mode, freshly disoccluded areas, where no temporal history is available, are marked in red. Accumulation progress is shown in grey, and fully accumulated pixels are displayed in white.

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2F6T4kuCgNRJOuLaJhoIZh%2FImage%20Sequence_050_0028.png?alt=media&#x26;token=9f4c8daf-f760-41cc-be93-1b8115d8b817" alt=""><figcaption><p>Temporal Disocclusion debug mode showing 8 frames of temporal reprojection</p></figcaption></figure>

## Motion Rejection (HDRP / URP)

Controls the strictness of temporal history rejection. Lower values accept all history, producing smoother output with less noise, but can cause ghosting and trailing near moving objects or during camera translation/rotation. Higher values reject potentially invalid history samples, but may result in noisier output.

*Performance impact: insignificant*

{% tabs %}
{% tab title="Off \[GTAO]" %}

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2FS6c8nuNsCT2uReakh5Ju%2FMovie_006.gif?alt=media&#x26;token=6d04552d-51e7-452e-8627-0450bcf75a57" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="On \[GTAO]" %}

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2FfPEuWSXODVSSmL7KQXz7%2FMovie_007.gif?alt=media&#x26;token=bb25910e-4a9e-40f9-b70c-e9d9f7937cb0" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Off \[RTAO]" %}

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2F7m2LtHq37asVtJcfXdgm%2FMovie_009.gif?alt=media&#x26;token=fc1935ca-7b8d-46fa-a5b1-46e122e4793d" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="On \[RTAO]" %}

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2FlnFfbVwI9oWp1kATs0qk%2FMovie_010.gif?alt=media&#x26;token=cc545441-4450-4ae5-8f19-0ef0efc49240" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

While **GTAO** applies motion rejection to the entire frame, **RTAO** only applies it to pixels whose rays hit moving objects. These areas can be inspected through the **Motion Rejection Mask** debug dropdown.&#x20;

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2Fl2nwutBtdVWz2askN6K9%2FImage%20Sequence_051_0000.png?alt=media&#x26;token=dfab5d7e-630d-4618-8236-f0a4ac47f0b4" alt=""><figcaption><p>Motion Rejection will be performed for pixels marked by red color</p></figcaption></figure>

## Normal Rejection

Specifies whether the difference in surface normals should be considered during temporal history reprojection. This option can mitigate reprojection artifacts, such as the one in the screenshot where color from the frontal plane of the cube "leaks" onto its newly revealed side during camera panning.

Setting this parameter to high values close to 1.0 can cause temporal instability on small and thin details, such as foliage. Use the **Temporal Disocclusion** debug view to inspect the impact of **Normal Rejection** on temporal reprojection.

{% hint style="info" %}
Use [Temporal Disocclusion](#sample-count) debug view to inspect the impact of Normal Rejection on temporal reprojection.
{% endhint %}

*Performance impact: moderate, activate only if necessary*

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2FgTbDcswgdhEDvmTJ0uCw%2Fimage.png?alt=media&#x26;token=38877daa-c17e-41d4-85ad-8228bfbe5739" alt=""><figcaption></figcaption></figure>

## Rejection Strength

Defines the overall strictness of temporal history rejection. Similar to **Normal Rejection**, setting this parameter to high values close to 1.0 can cause temporal instability on small and thin details, such as foliage. Using very low values close to 0.0 can lead to ghosting in certain scenarios.

Use the **Temporal Disocclusion** debug view to inspect the impact of **Rejection Strength** on temporal reprojection.

## Reprojection Filter

Defines a reprojection filter used for temporal history fetch. **Bilinear** is fast but introduces blur, while **Lanczos** is approximately three times slower but much sharper. This option affects only the sharpness of the reprojection, not its effectiveness.

{% hint style="info" %}
The filter is applied only to the history, meaning the sharpening effect will be visible during motion. It isn't a general-purpose sharpening effect (like **CAS**) and will have no impact on the stationary image.
{% endhint %}

*Performance impact: moderate, activate only if necessary*

{% tabs %}
{% tab title="Linear \[RTAO]" %}

<div data-full-width="false"><figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2FhQ1qD9zXqLQjx92I1sQK%2FMovie_024-ezgif.com-crop.gif?alt=media&#x26;token=c535e3a0-be51-4ac9-8085-3b77cdf1383e" alt=""><figcaption><p> 3X Zoom</p></figcaption></figure></div>
{% endtab %}

{% tab title="Lanczos \[RTAO]" %}

<figure><img src="https://3017530748-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FszttYoG53IivMF9CpimF%2Fuploads%2FlptjqySmYt0gWN82GWpr%2FMovie_023-ezgif.com-crop.gif?alt=media&#x26;token=594b7dd6-4829-4bd6-85e5-115135800225" alt=""><figcaption><p>3X Zoom</p></figcaption></figure>
{% endtab %}
{% endtabs %}
