This sample shows a way to combine traditional rasterized shadows with raytracing to create fast high quality shadows.
Supports:
- DirectX®12
- Vulkan®
Part of the AMD FidelityFX™ SDK
Download the latest version v1.0:
This release adds the following features:
- Just released!
Download the latest version as part of FidelityFX SDK v1.1
AMD FidelityFX Hybrid Shadows:
- Fixed memory leak issue.
- General cleanup of the shadow classifier.
- Fix Hybrid Shadows issues on RX 7900 XTX.
Updated 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
This sample showcases the following Hybrid Shadows functionality:
- Configurable shadow cascades.
- Ray traced shadows.
- Hybrid shadows.
- Rejecting lit pixels.
- Rejecting shadowed pixels.
- Ray interval reduction.
- AMD FidelityFX Shadow Denoiser.
AMD FidelityFX™ Denoiser
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
Image comparison
Debug view
The left side shows an overlay where the tiles that have any ray tracing in them are written out with pure red and green.
A pixel (part of a tile) that needs ray tracing, but will not fire a ray. | |
A pixel that will fire a ray. |
The right side shows the shadow map.
Requirements
- A graphics card with Direct3D® 12 and DXR 1.1 support.
- Windows® 10 (64-bit recommended).
- Visual Studio® 2019 with Visual C++® and the Windows® 10 SDK installed.
Related to Hybrid Shadows
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™ Denoiser
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
Microsoft® Game Stack Live: Denoising Raytraced Soft Shadows on Xbox Series X|S and Windows with FidelityFX
We explain how FidelityFX Denoiser allows for high-quality raytracing results without increasing rays per pixel, and deep dive into specific AMD RDNA™ 2-based optimizations that benefit both Xbox Series X|S and PC.
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.
Version history
AMD FidelityFX Hybrid Shadows:
- Fixed memory leak issue.
- General cleanup of the shadow classifier.
- Fix Hybrid Shadows issues on RX 7900 XTX.
Updated 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)
- Now part of AMD FidelityFX SDK.
- Various bug fixes applied based on past integrations.
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™ Brixelizer/GI
AMD FidelityFX™ Brixelizer GI is compute-based real-time dynamic global illumination solution built upon sparse distance fields.
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 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.