AMD FidelityFX™ Combined Adaptive Compute Ambient Occlusion (CACAO) is an AMD RDNA™-optimized implementation of ambient occlusion.
Download the latest version v1.1:
This release adds the following features:
- Highly optimised native resolution SSAO.
- Downsampled resolution SSAO quality improvements.
An example use of AMD FidelityFX CACAO exists within the Xbox Game Development Kit samples.
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.
AMD FidelityFX CACAO off/on
AMD FidelityFX CACAO on/debug view
AMD FidelityFX CACAO off/on in Dirt® 5
See AMD FidelityFX CACAO in action with DIRT® 5
You can also find AMD FidelityFX CACAO in World of Warcraft®: Shadowlands
All part of the FidelityFX SDK!
Don't miss our other effects
AMD FidelityFX Blur is an AMD RDNA™ architecture optimized collection of blur kernels from 3×3 up to 21×21.
AMD FidelityFX Contrast Adaptive Sharpening (CAS) provides a mixed ability to sharpen and optionally scale an image.
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
AMD FidelityFX Depth of Field is an AMD RDNA™-architecture optimized implementation of physically correct camera-based depth of field.
This sample demonstrates how to combine ray traced shadows and rasterized shadow maps together to achieve high quality and performance.
This sample shows how to combine AMD FidelityFX Stochastic Screen Space Reflections (SSSR) with ray tracing in order to create high quality reflections.
AMD FidelityFX Lens is an AMD RDNA™ architecture optimized implementation of some of gaming’s most used post-processing effects.
AMD FidelityFX LPM provides an open-source library to easily integrate HDR and wide gamut tone and gamut mapping into your game.
A set of guidelines for developers on how to present options in the game’s user interface to enable/disable AMD FidelityFX Effects.
AMD FidelityFX Parallel Sort makes sorting data on the GPU quicker, and easier. Use our SM6.0 compute shaders to get your data in order.
AMD FidelityFX Single Pass Downsampler (SPD) provides an AMD RDNA™ architecture optimized solution for generating up to 12 MIP levels of a texture.
The AMD FidelityFX SSSR effect provides an open-source library to easily integrate stochastic screen space reflections into your game.
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.
Learn even more about our new open-source temporal upscaling solution FSR 2, and get the source code and documentation!
AMD FidelityFX Variable Shading drives Variable Rate Shading into your game.
Discover frame generation with AMD FidelityFX™ Super Resolution 3, and get the source code and documentation!
Radeon Cauldron is our open-source experimentation framework for DirectX®12 and Vulkan®, provided in the AMD FidelityFX SDK.
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.