FidelityFX – Contrast Adaptive Sharpening

Effects

FidelityFX is a series of optimized shader-based features aimed at improving rendering quality and performance. These shaders are provided under the open source MIT license and can freely be integrated in your game or any graphics application. FidelityFX features can be used on any graphics APIs that support either the HLSL or GLSL shading language, such as Direct3D 12, Vulkan®, or Direct3D 11.

FidelityFX effects are easy to integrate – all that’s needed is to #include the provided header files and use appropriate functions in your shader code. Specific #define can be set to turn these headers into HLSL, GLSL or C code. See documentation for details.

Contrast Adaptive Sharpening (CAS)

Contrast Adaptive Sharpening (CAS) is the first FidelityFX release. CAS provides a mixed ability to sharpen and optionally scale an image. The algorithm adjusts the amount of sharpening per pixel to target an even level of sharpness across the image. Areas of the input image that are already sharp are sharpened less, while areas that lack detail are sharpened more. This allows for higher overall natural visual sharpness with fewer artifacts.

CAS was designed to help increase the quality of existing Temporal Anti-Aliasing (TAA) solutions. TAA often introduces a variable amount of blur due to temporal feedback. The adaptive sharpening provided by CAS is ideal to restore detail in images produced after TAA .

CAS’ optional scaling capability is designed to support Dynamic Resolution Scaling (DRS). DRS changes render resolution every frame, which requires scaling prior to compositing the fixed-resolution User Interface (UI). CAS supports both up-sampling and down-sampling in the same single pass that applies sharpening.

Example before sharpening:

Cas Off

After sharpening:

Cas On

CAS sample applications are provided for Direct3D 12 and Vulkan.

For an in-depth look at CAS see Lou Kramer’s presentation: FidelityFX-CAS.pptx (54.1 MB)

Binary and source releases are available to download from the GitHub repository: https://github.com/GPUOpen-Effects/FidelityFX

A naming guideline document is available for developers wishing to integrate any FidelityFX technology into their games or applications: FidelityFX – Naming guidelines in game titles.pdf

Note to developers: please let your AMD contact know if you’re planning to integrate FidelityFX CAS in your title. Radeon Image Scaling (RIS) is a driver feature that implements CAS, and AMD needs to create a driver profile for your title order to avoid RIS and CAS to be applied at the same time. Thanks!

Resources