AMD FidelityFX™ Brixelizer GI is a compute-based real-time dynamic global illumination solution built upon the sparse distance fields from AMD FidelityFX Brixelizer.
It provides you with denoised indirect diffuse and specular lighting outputs that you can composite into your final lighting output.
Supports:
- DirectX®12
- Vulkan®
Part of the AMD FidelityFX™ SDK
Download the latest version as part of FidelityFX SDK v1.1
AMD FidelityFX Brixelizer and AMD FidelityFX Brixelizer GI:
- Initial AMD FidelityFX Brixelizer/GI library release as part of AMD FidelityFX SDK 1.1
As part of AMD FidelityFX SDK v1.1:
- AMD FidelityFX backend updates, including buffer allocator overrides
- Updated documentation and release of reference documentation for SDK + Framework
- Native Microsoft® GDK® backend implementation library (requires developer access to GDK® program)
Features
State-of-the-art algorithm
RDNA™-optimized
Smart shader selection (SM 6.6+ when present)
Open source, MIT license
Easy to integrate
Cross platform
Details
AMD FidelityFX Brixelizer + Brixelizer GI features the following:
- Denoised indirect diffuse and indirect specular outputs
- Implemented in compute without hardware-accelerated ray-tracing
- Optional modes to output at lower than native resolutions
- AMD FidelityFX Brixelizer and Brixelizer GI sample code
- Native DirectX® 12 and Vulkan® SDK backend implementation libraries
- Fully dynamic global illumination with multiple bounces
For more information, don’t miss our extensive documentation.
Find out more about the AMD FidelityFX SDK:
Comparisons
Left: GI off, right: GI on
Left: GI off, right: GI on
Algorithm overview - Brixelizer
AMD FidelityFX Brixelizer is a library that generates sparse distance fields for triangle geometry in real-time for efficiently tracing rays against your scene.
It works with both static and dynamic geometry and provides a shader API to trace rays against the distance field. It generates cascades of sparse distance fields around a given position and each cascade is split into 64x64x64 voxels.
If a voxel intersects any geometry, it generates a local distance field within the voxel. These local distance fields are known as Bricks.
Algorithm overview - Brixelizer GI
FidelityFX Brixelizer GI is a simplified implementation of AMD GI-1.0.
It takes in the G-Buffer resources of your application alongside the output resources from Brixelizer to generate Diffuse and Specular GI outputs.
Due to the lack of material information in the distance field from Brixelizer, we maintain an internal radiance cache which is populated by the previous frames’ lighting output.
Including just direct lighting will result in 1-bounce diffuse GI, whereas including the composited output from the previous frame gives you multiple bounces effectively for free.
Left: Radiance cache with one bounce, right: Radiance cache with multiple bounces.
Next we spawn screen probes on the visible surfaces in the depth buffer and shoot rays using Brixelizer and sample the radiance cache for shading.
These screen probes are then used to feed a world space irradiance cache that stores spherical harmonics probes for each valid brick.
Finally the outputs are resolved and denoised, leaving you with a Diffuse GI and Specular GI output that you can composite into your final lighting.
Additional resources
GDC 2024 – Global Illumination with AMD FidelityFX™ Brixelizer, plus AMD FidelityFX SDK updates – YouTube link
This talk briefly discusses how the AMD FidelityFX™ Brixelizer works, then explores how diffuse and specular global illumination is implemented with sparse distance fields in Brix GI.
Two-level radiance caching for fast and scalable real-time dynamic GI in games (GDC 2023 – YouTube link)
This presentation is a practical implementation of a solution aimed at making the most of every sample by caching the estimated radiance into a cache hierarchy used for both sampling and filtering.
Real-time Sparse Distance Fields for Games (GDC 2023 – YouTube link)
This presentation introduces a novel algorithm for PC and console developers to efficiently generate sparse distance fields in real-time.
AMD FidelityFX™ Naming Guidelines in Game Titles
A set of guidelines for developers on how to present options in the game’s user interface to enable/disable AMD FidelityFX Effects.
Requirements
Requires GCN-class GPUs and above.
Version history
AMD FidelityFX Brixelizer and AMD FidelityFX Brixelizer GI:
- Initial AMD FidelityFX Brixelizer/GI library release as part of AMD FidelityFX SDK 1.1
As part of AMD FidelityFX SDK v1.1:
- AMD FidelityFX backend updates, including buffer allocator overrides
- Updated documentation and release of reference documentation for SDK + Framework
- Native Microsoft® GDK® backend implementation library (requires developer access to GDK® program)
All part of the FidelityFX SDK!
AMD FidelityFX™ SDK
The AMD FidelityFX SDK is our easy-to-integrate solution for developers looking to include FidelityFX features into their games.
Don't miss our other effects
AMD FidelityFX™ Blur
AMD FidelityFX Blur is an AMD RDNA™ architecture optimized collection of blur kernels from 3×3 up to 21×21.
AMD FidelityFX™ Breadcrumbs library
AMD FidelityFX Breadcrumbs library uses the breadcrumbs marker technique to track down where your submitted commands cause a GPU crash.
AMD FidelityFX™ Cauldron Framework
AMD FidelityFX Cauldron Framework is our open-source experimentation framework for DirectX®12 and Vulkan®, provided in the AMD FidelityFX SDK.
AMD FidelityFX™ Combined Adaptive Compute Ambient Occlusion (CACAO)
AMD FidelityFX Combined Adaptive Compute Ambient Occlusion (CACAO) is an AMD RDNA™ architecture optimized implementation of ambient occlusion.
AMD FidelityFX™ Contrast Adaptive Sharpening (CAS)
AMD FidelityFX Contrast Adaptive Sharpening (CAS) provides a mixed ability to sharpen and optionally scale an image.
AMD FidelityFX™ Denoiser
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
AMD FidelityFX™ Depth of Field (DoF)
AMD FidelityFX Depth of Field is an AMD RDNA™-architecture optimized implementation of physically correct camera-based depth of field.
AMD FidelityFX™ Hybrid Shadows sample
This sample demonstrates how to combine ray traced shadows and rasterized shadow maps together to achieve high quality and performance.
AMD FidelityFX™ Hybrid Stochastic Reflections sample
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
AMD FidelityFX Lens is an AMD RDNA™ architecture optimized implementation of some of gaming’s most used post-processing effects.
AMD FidelityFX™ Luminance Preserving Mapper (HDR Mapper)
AMD FidelityFX LPM provides an open-source library to easily integrate HDR and wide gamut tone and gamut mapping into your game.
AMD FidelityFX™ Parallel Sort
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)
AMD FidelityFX Single Pass Downsampler (SPD) provides an AMD RDNA™ architecture optimized solution for generating up to 12 MIP levels of a texture.
AMD FidelityFX™ Stochastic Screen Space Reflections (SSSR)
The AMD FidelityFX SSSR effect provides an open-source library to easily integrate stochastic screen space reflections into your game.
AMD FidelityFX™ Super Resolution 1 (FSR 1)
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.
AMD FidelityFX™ Super Resolution 2 (FSR 2)
Learn even more about our new open-source temporal upscaling solution FSR 2, and get the source code and documentation!
AMD FidelityFX™ Super Resolution 3 (FSR 3)
Discover frame generation with AMD FidelityFX™ Super Resolution 3, and get the source code and documentation!
AMD FidelityFX™ Variable Shading
AMD FidelityFX Variable Shading drives Variable Rate Shading into your game.
TressFX
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.