![AMD FidelityFX Screen Space Reflections](png/20666029-c_amd_fidelityfx_screen_space_reflections_lockup_rgb_wht.png)
High-fidelity reflections in your scene, without costing the earth. AMD FidelityFX™ Stochastic Screen Space Reflections (SSSR) uses your rendered frame to create brilliant reflections.
Supports:
- Direct3D®12.
- Vulkan®.
Download the latest version - v1.3
This release adds the following features:
- Extracted the essential parts of the library to one HLSL header file to ease integration.
- The reflection denoiser is extracted to its own library and added to AMD FidelityFX Denoiser.
- Fixed a few minor visual bugs.
- Both the DirectX®12 and Vulkan® sample have been reworked to utilize Cauldron and demonstrate the following effects:
Download the latest version - v1.4
This release includes:
- Now part of AMD FidelityFX SDK.
- Various bug fixes applied based on past .integrations
Part of the AMD FidelityFX™ SDK
![AMD FidelityFX SDK components](https://gpuopen.com/wp-content/uploads/2023/06/FFX_SDK_banner-1024x570.png)
Features
State-of-the-art algorithm
Optimized for Shader Model 6.0+
Open source, MIT license
Details
AMD FidelityFX SSSR provides an open source library to easily integrate stochastic screen space reflections into your game.
The term “Screen Space Reflections” describes an effect that can create realistic looking reflections purely based on information already present in the rendered image. The underlying algorithm shoots reflection rays from a depth imprint of the rendered scene (a so-called “depth buffer”) and follows them in constant steps through the image until these rays intersect with the depth buffer again. Instead of taking constant-sized steps, AMD FidelityFX SSSR builds on an industry-leading algorithm that searches the rendered image in a hierarchical manner. This allows for larger and fewer steps on average, increasing performance of the search and quality of the final image.
To support glossy reflections, this AMD FidelityFX effect jitters the reflection rays to create the sense of surfaces with varying roughness. However, that approach inherently introduces noise. Thus, AMD FidelityFX SSSR comes with a high quality denoiser specifically optimized for the AMD RDNA™ architecture. The denoiser combines the results from multiple frames to create a noise-free image. Furthermore, it allows the ray count to decrease based on surface roughness, thus further speeding up screen space traversal.
Library features
- Hierarchical depth buffer traversal kernel.
- Confidence based hit validation.
- Support for Direct3D®12 API and Vulkan® API.
- Shaders written in HLSL utilizing SM 6.0 wave-level operations.
Sample application
A sample application is provided for Direct3D®12 and Vulkan® showing the following features:
- Glossy reflections via ray jittering.
- Showcases AMD FidelityFX SPD to generate the depth buffer hierarchy.
- Showcases AMD FidelityFX Denoiser to achieve temporally stable reflections.
![Shadow Denoiser](https://gpuopen.com/wp-content/uploads/2021/04/Featured_ShadowDenoiser-768x432.jpg)
AMD FidelityFX™ Denoiser
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
![Smaller texture images representing AMD FidelityFX SPD](https://gpuopen.com/wp-content/uploads/2023/06/FFX_SPD-768x449.jpg)
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.
Comparison
![Chess pieces without SS reflections](jpg/fullsize_ffx_sssr_off.jpg)
![Chess pieces with SS reflections](https://gpuopen.com/wp-content/uploads/2023/06/fullsize_ffx_ssr_on.jpg)
How it works
![](https://gpuopen.com/wp-content/uploads/2020/11/sssr_diagram.jpg)
![](https://gpuopen.com/wp-content/uploads/2020/12/sssr-works-2-r.png)
Reflection result processed by AMD FidelityFX Denoiser:
![](https://gpuopen.com/wp-content/uploads/2020/11/1spp_1080p_blur_no_env-1024x576.jpg)
![](https://gpuopen.com/wp-content/uploads/2020/11/1spp_1080p_blur_only_env-1024x576.jpg)
![](https://gpuopen.com/wp-content/uploads/2020/11/1spp_1080p_blur-1024x576.jpg)
Additional resources
Version history
- This is a small-yet-breaking update to our SSSR technique created to support our hybrid reflections sample, which shows you how to mix ray traced reflections and SSSR.
- Extracted the essential parts of the library to one HLSL header file to ease integration.
- The reflection denoiser is extracted to its own library and added to AMD FidelityFX Denoiser.
- Fixed a few minor visual bugs.
- Both the DirectX®12 and Vulkan® sample have been reworked to utilize Cauldron and demonstrate the following effects:
Vulkan® support.
- Initial release
All part of the FidelityFX SDK!
![AMD FidelityFX SDK](https://gpuopen.com/wp-content/uploads/2023/07/featured_FFX_SDK-768x432.jpg)
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
![An image of a toy train blurring into the background](https://gpuopen.com/wp-content/uploads/2023/08/FFX_Blur-768x432.jpg)
AMD FidelityFX™ Blur
AMD FidelityFX Blur is an AMD RDNA™ architecture optimized collection of blur kernels from 3×3 up to 21×21.
![](https://gpuopen.com/wp-content/uploads/2023/06/FFX_Cacao-768x449.jpg)
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 CAS demonstrated by a plane landing](https://gpuopen.com/wp-content/uploads/2023/06/FFX_CAS-768x449.jpg)
AMD FidelityFX™ Contrast Adaptive Sharpening (CAS)
AMD FidelityFX Contrast Adaptive Sharpening (CAS) provides a mixed ability to sharpen and optionally scale an image.
![Shadow Denoiser](https://gpuopen.com/wp-content/uploads/2021/04/Featured_ShadowDenoiser-768x432.jpg)
AMD FidelityFX™ Denoiser
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
![FidelityFX Depth of Field - some items on a bench](https://gpuopen.com/wp-content/uploads/2023/08/FFX_DoF-768x432.jpg)
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](https://gpuopen.com/wp-content/uploads/2023/06/FFX_HybridShadows_DebugRays-768x449.jpg)
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.
![](https://gpuopen.com/wp-content/uploads/2023/06/FFX_HybridReflections-768x449.jpg)
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.
![FidelityFX Lens - bar room](https://gpuopen.com/wp-content/uploads/2023/06/FFX_Lens-768x449.jpg)
AMD FidelityFX™ Lens
AMD FidelityFX Lens is an AMD RDNA™ architecture optimized implementation of some of gaming’s most used post-processing effects.
![](https://gpuopen.com/wp-content/uploads/2020/03/lpm_crop-768x453.jpg)
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 Naming Guidelines](https://gpuopen.com/wp-content/uploads/2023/06/FidelityFX_Naming_Guidelines-768x432.jpg)
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.
![AMD FidelityFX Parallel Sort](https://gpuopen.com/wp-content/uploads/2023/08/fullsize_FFX_ParallelSort_featured-768x419.jpg)
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.
![Smaller texture images representing AMD FidelityFX SPD](https://gpuopen.com/wp-content/uploads/2023/06/FFX_SPD-768x449.jpg)
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.
![FSR Cauldron Demo](https://gpuopen.com/wp-content/uploads/2021/07/fsr-source-previewcard-768x432.jpg)
AMD FidelityFX™ Super Resolution 1 (FSR 1)
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.
![](https://gpuopen.com/wp-content/uploads/2023/06/FFX_FSR_FSR2_2-768x449.jpg)
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 spaceship](https://gpuopen.com/wp-content/uploads/2023/12/featured-FSR3-spaceship-768x449.jpg)
AMD FidelityFX™ Super Resolution 3 (FSR 3)
Discover frame generation with AMD FidelityFX™ Super Resolution 3, and get the source code and documentation!
![Hangar deck demonstrating AMD FidelityFX Variable Shading](https://gpuopen.com/wp-content/uploads/2023/08/FFX_VRS-768x432.jpg)
AMD FidelityFX™ Variable Shading
AMD FidelityFX Variable Shading drives Variable Rate Shading into your game.
![](https://gpuopen.com/wp-content/uploads/2020/11/featured_cauldron-768x417.jpg)
Radeon™ Cauldron Framework
Radeon Cauldron is our open-source experimentation framework for DirectX®12 and Vulkan®, provided in the AMD FidelityFX SDK.
![](https://gpuopen.com/wp-content/uploads/2020/01/laraandhair.jpg)
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.