AMD FidelityFX™ Denoiser background

AMD FidelityFX™ Denoiser

Shadows and reflections

AMD FidelityFX™ Denoiser includes specialized spatio-temporal denoisers optimized for specific workloads:

  • Shadow Denoiser: Designed to denoise a shadow mask created from tracing jittered rays towards a single light source.
  • Reflection Denoiser: Designed to remove noise from the result of tracing jittered reflection rays based on surface roughness.

Supports:

  • DirectX® 12
  • Vulkan®

Part of the AMD FidelityFX™ SDK

AMD FidelityFX SDK components

Download the latest version - v1.1.4

This release of the AMD FidelityFX™ SDK adds the following features:

  • Additions to the API and fixes for issues discovered.

Features

Open source, MIT license

Optimized for Shader Model 6.0+

State-of-the-art algorithm

Shadow Denoiser specific features

  • Spatio-temporal denoiser, specialized for shadow denoising.
  • Tile classifier to skip work on areas without spatial variance in the shadow mask.
  • Increased contribution of spatial filters on low temporal sample counts.
  • Analysis of the local pixel neighborhood to counter ghosting artifacts.

Shadow Denoiser comparison

Raw Shadow Mask
Denoised Shadow Mask

Reflection Denoiser features

  • High performance spatio-temporal denoiser, specialized for reflection denoising.
  • Tile Classifier to skip non reflective areas.
  • Variable Rate Traversal: From full rate for mirror reflections down to quarter rate for glossy reflections.
  • Temporal Variance Guided Tracing.

Includes:

  • Classifier pass for reflection rays and denoiser tiles.
  • Spatial filter pass.
  • Temporal reprojection pass.
  • Gaussian blur.

Reflection Denoiser comparison

How the Reflection Denoiser works

1. Noisy reflection input

2. Spatial resolve

3. Temporal resolve

4. Gaussian blur

Xbox developer?

An example use of AMD FidelityFX™ Shadow Denoiser exists within the Xbox Game Development Kit samples.

xbox

Requirements

  • DirectX® 12
  • Vulkan®

Version history

  • The AMD FidelityFX™ SDK 1.1.4 is a patch release that includes additions to API and fixes for issues discovered with AMD FSR 3.1.0 to 3.1.3.

  • Exposed 4 new tunings to reduce AMD FSR upscaler ghosting in newly disoccludded pixels or highly reactive pixels.

  • Changed the default value of fMinDisocclusionAccumulation to -0.333 (from equivalent of 0.333 in AMD FSR 3.1.3) to reduce disocclusion ghosting.

  • Added ffxQueryGetProviderVersion to get version info from created ffx-api context.

  • Exposed ffxDispatchDescFrameGenerationPrepareCameraInfo as a linked struct. It is a required input to AMD FSR 3.1.4 and onwards for best quality.

  • Added frame generation debug checker support.

  • Dropped unused interpolation command lists if frame generation callback fails, to fix infinite wait at swapchain destruction.

  • General fixes to Vulkan® Frame Interpolation Swapchain.

  • General framework fixes and updates.

  • Frame pacing debug line added to Vulkan®.

  • Added new FFX error when create frame interpolation swapchain results in E_ACCESSDENIED in DX12 due to overlay or capture software.

  • Enabled support for frame interpolation swapchain on Windows® 10 1909 and potentially earlier versions.

  • Fixed flipped disocclusion factor from previous and current backbuffer.

  • Fixed HDR mode issues in Cauldron sample.

  • Fixed MSVC C compile errors including ffx-api.

  • The AMD FidelityFX™ SDK 1.1.4 also updates the following to address select issues:

  • AMD FidelityFX™ Brixelizer GI 1.0.1

  • AMD FidelityFX™ Breadcrumbs 1.0.1

Other AMD FidelityFX effects