AMD FidelityFX Combined Adaptive Compute Ambient Occlusion (CACAO) is an RDNA™-optimized implementation of ambient occlusion.


  • DirectX®12.
  • Vulkan®.

Download the latest version - v1.2

This release adds the following features:

  • Highly optimised native resolution SSAO.
  • Downsampled resolution SSAO quality improvements.

Xbox developer?

An example use of AMD FidelityFX CACAO exists within the Xbox Game Development Kit samples.


Intelligent sampling

Highly optimized

Open source, MIT license

In 3D graphics, one of the biggest challenges is creating high quality lighting. Calculating physically accurate lighting is too computationally expensive to be done in real time, so instead multiple approximate models are used to create believable lighting. 

One of these models is ambient lighting, which models indirect light in a scene. The most naïve ambient light model is to have ambient lighting constant across an entire scene. However, this can be greatly improved by ambient occlusion, in which there is less ambient light in areas with occluding geometry – for example in corners, where objects meet, nooks and crannies etc. This vastly improves believability of a scene and makes a scene easier to visually parse.

Computing ambient occlusion can be done in multiple ways. In static scenes ambient occlusion may be computed ahead of time. When this is done, the methods used are typically very expensive and take a long time to compute. However, in dynamic scenes in which content is not predictable ahead of time this is not an option. In this case the state of the art is to use screen space ambient occlusion, which computes the ambient occlusion each frame based on geometry rendered. When this approach is taken an implementation must be chosen which is a good balance of speed and quality.

The CACAO implementation is a highly optimized implementation of ambient occlusion. It may be run at multiple different quality settings, allowing it to meet multiple different requirements for quality performance trade-offs, and be run across a wide range of hardware.


See AMD FidelityFX CACAO in action with DIRT® 5

Watch "Radeon RX 6000 Partner Showcase: Dirt 5 and Codemasters" on YouTube in a new window

You can also find AMD FidelityFX CACAO in World of Warcraft®: Shadowlands

Watch "Radeon RX 6000 Partner Showcase: WoW: Shadowlands and Blizzard Entertainment" on YouTube in a new window

Version history

  • Vulkan® support.
  • Initial release

Useful information

A set of guidelines for developers on how to present options in the game’s user interface to enable/disable AMD FidelityFX Effects.

Find out what developers are saying about AMD FidelityFX.

More AMD FidelityFX effects

Shadow Denoiser

AMD FidelityFX – Denoiser

AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.

Cauldron Framework

Radeon™ Cauldron is our open source experimentation framework for DirectX®12 and Vulkan®.

Our other effects


A multithreaded CPU library for deformable material physics, using the Finite Element Method (FEM)


The DepthOfFieldFX library provides a GCN-optimized Compute Shader implementation of Depth of Field using the Fast Filter Spreading approach.


GeometryFX improves the rasterizer efficiency by culling triangles that do not contribute to the output in a pre-pass. This allows the full chip to be used to process geometry, and ensures that the rasterizer only processes triangles that are visible.


ShadowFX library provides a scalable GCN-optimized solution for deferred shadow filtering. It supports uniform and contact hardening shadow (CHS) kernels.


The TressFX library is AMD’s hair/fur rendering and simulation technology. TressFX is designed to use the GPU to simulate and render high-quality, realistic hair and fur.