AMD Radeon™ Cauldron
The easy, extensible framework for experimenting in DirectX®12 and Vulkan®.
Cauldron is a framework library for rapid prototyping using either the Vulkan® or DirectX® 12 APIs.
Download the latest version
Cauldron is now part of the AMD 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.
The previous standalone version v1.4.3 added the following features:
- [New] Magnifying glass feature for detailed pixel investigations.
- [New] Log file support.
- [New] DPI Scaling awareness for UI.
- [New] Converted to VectorMath library.
- [New] GPUOpen app icon.
- [New] Wireframe mode.
- [New] New lighting/shadow import pipeline.
- [Enhancement] Moved core components into framework to make sample side simpler.
- [Enhancement] More robust CPU and GPU validation support.
- [Enhancement] Additional feature query functionality:
- RT1.0/1.1.
- VRS Tier1/2.
- [Enhancement] More robust fullscreen and HDR swapchain handling.
- [Enhancement] Added more robust DDS support for GLTF content loading.
- [Enhancement] Support for Pix3 markers.
- [Enhancement] More efficient post process setup.
- [Enhancement] Better timings.
- [Enhancement] Lots of minor fixes everywhere (DirectX®12/Vulkan®).
- [v1.4.3 update] Support for FidelityFX Super Resolution 2.0.1.
glTFSample Cauldron Sample Project
This sample demonstrates how to use most of Cauldron’s features. It is also a useful reference for getting started with developing your own samples and prototypes.
Features
Cauldron is developed by AMD and is being used internally by several teams. Cauldron is open source and has been designed to be simple and easy to extend.
The Cauldron framework includes the following features:
-
Fast glTF 2.0 file loader.
- Animation for cameras, objects, skeletons and lights.
- Skinning.
- Baking skinning into buffers (DirectX®12 only).
- Rendering techniques.
- Motion vectors.
- Depth pass only.
- PBR Materials.
- Metallic-roughness.
- Specular-glossiness (
KHR_materials_pbrSpecularGlossiness
).
- Lighting (
KHR_lights_punctual extension
).- Point, directional, and spot lights (with up to four shadow maps).
- Image-based Lighting (IBL) CubeMaps.
- Shadow techniques.
- Shadow maps (PCF).
-
Configurable GBuffer supported techniques:
- Full forward.
- Motion vectors.
- Normals.
- Depth.
- Specular-roughness.
- Diffuse-alpha.
-
Postprocessing.
- TAA.
- Bloom.
- HDR/Tonemapping.
-
Texture Loaders for DDS, JPEG and PNG formats.
- MIPMap generation for powers-of-two textures.
- In-app user interface using Dear ImGui.
-
Rendering Resource Management.
- Command Buffer ring.
- Timestamp queries.
- Memory Heap Manager (Linear Allocator).
- Static buffers for VB/IB/CB with suballocation support.
- Dynamic buffers for VB/IB/CB using a ring buffer.
-
Debug Rendering.
- Bounding box render.
- Light frustum render.
- Wireframe render.
-
Window management and swapchain creation
- Fullscreen/Windowed modes and HDR handling.
-
Support for DXC/SM6.x (also on Vulkan®).
- FreeSync™ Premium Pro HDR support.
- Shader binary and PSO caching.
-
Multithreading loading and creation of resources.
- Textures and MIPMap generation.
- Shader compilation.
- Pipeline creation.
- Textures and MIPMap generation.
- VK extensions in-app support.
Cauldron is used by the following effects and samples
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™ 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™ Super Resolution 1 (FSR 1)
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.
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™ 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™ Variable Shading
AMD FidelityFX Variable Shading drives Variable Rate Shading into your game.
AMD FidelityFX™ Denoiser
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
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™ 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™ 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™ 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™ Contrast Adaptive Sharpening (CAS)
AMD FidelityFX Contrast Adaptive Sharpening (CAS) provides a mixed ability to sharpen and optionally scale an image.
Compressonator
Compressonator is a set of tools to allow artists and developers to more easily work with compressed assets and easily visualize the quality impact of various compression technologies.
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.
Easy to extend
Rapid prototyping
Open source, MIT license
Related sample
Cauldron is packaged with glTFSample, a basic sample that can generate images like the ones below with a few lines of code.
glTFSample Cauldron Sample Project
This sample demonstrates how to use most of Cauldron’s features. It is also a useful reference for getting started with developing your own samples and prototypes.
Version history
- [New] Temporal Anti-Aliasing (TAA) (Vulkan®).
-
[New] Configurable
GBuffer
class (DirectX®12/Vulkan®). -
[New]
GltfPbrPass
can now output:- Motion vectors.
- Diffuse and alpha.
- Specular and roughness.
- Normals.
- Full forward rendering
- [Enhancement] Exposed batchlists for solid and transparent primitives, batches can now be culled or sorted by distance or state. (DirectX®12/Vulkan®).
- [Enhancement] Skinned geometry also generates motion vectors (DirectX®12/Vulkan®).
- [Enhancement] AGS bumped to v6.0 (DirectX®12/Vulkan®).
- [New] Upload heap supports uploading buffers (DirectX®12).
- [Enhancement] Texture loading and MIP generation now uses multithreading (DX12/VK).
- [Enhancement] Pipeline generation and shader compiler use now multithreading (DX12/VK).
- [New] Benchmarking mode can now save screenshots for every keyframe (DX12).
- [New] Extensions can be enabled from the app side (VK).
- [Enhancement] Uses DXC for HLSL code (DX12/VK).
- [new] TAA (DX12).
- [new] Shadowmasks (DX12).
- [new] Basic benchmark mode.
- [new] Motion vector pass (DX12/VK).
- [new] Frustum culling (DX12/VK).
- [new] Directional lights support.
- [new] PBR pass is more modular and now can output intermediate values into a GBuffer (DX12/VK).
- [new] Shadows now use PCF (VK).
- [new] FreeSync ™️ 2 HDR support (DX12/VK).
- Initial release.
- glTF 2.0 File loader.
- Animation for cameras, objects, skeletons and lights.
- Skinning.
- Rendering techniques.
- Depth pass only.
- PBR Materials.
- Metallic-Roughness.
- Specular-Glossiness (KHR_materials_pbrSpecularGlossiness).
- Lighting (KHR_lights_punctual extension).
- Spot Lights w/ Shadows (up to 4).
- Image-Based Lighting (IBL) CubeMaps.
- Shadow techniques.
- Shadow maps.
- Postprocessing.
- Bloom.
- HDR/Tonemapping.
- Texture Loaders for DDS, JPEG and PNG formats.
- MIPMap generation for powers-of-two textures.
- In-app user interface using Dear ImGui.
- Rendering Resource Management.
- Command Buffer Ring.
- Timestamp Queries.
- Memory Heap Manager (Linear Allocator).
- Static buffers for VB/IB/CB with suballocation support.
- Dynamic buffers for VB/IB/CB using a ring buffer.
- Debug Rendering.
- Wireframe Bounding Boxes.
- Light Frustums.
- Window management & swapchain creation.
- Fullscreen/Windowed Modes.
- Shader Binary and PSO caching.
More AMD FidelityFX effects
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™ Lens
AMD FidelityFX Lens is an AMD RDNA™ architecture optimized implementation of some of gaming’s most used post-processing effects.
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™ SDK
The AMD FidelityFX SDK is our easy-to-integrate solution for developers looking to include FidelityFX features into their games.
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™ 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™ 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™ Super Resolution 1 (FSR 1)
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.
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™ 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™ Variable Shading
AMD FidelityFX Variable Shading drives Variable Rate Shading into your game.
AMD FidelityFX™ Denoiser
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
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™ 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™ 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™ Combined Adaptive Compute Ambient Occlusion (CACAO)
AMD FidelityFX Combined Adaptive Compute Ambient Occlusion (CACAO) is an AMD RDNA™ architecture optimized implementation of ambient occlusion.
Our other effects
FEMFX
A multithreaded CPU library for deformable material physics, using the Finite Element Method (FEM)
DepthOfFieldFX
The DepthOfFieldFX library provides a GCN-optimized Compute Shader implementation of Depth of Field using the Fast Filter Spreading approach.
GeometryFX
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
ShadowFX library provides a scalable GCN-optimized solution for deferred shadow filtering. It supports uniform and contact hardening shadow (CHS) kernels.
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.