
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 - v1.3
This release adds the following features:
- [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).
Features
Easy to extend
Rapid prototyping
Open source, MIT license
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).
- Shadow masks (DirectX®12 only).
-
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.
- Wireframe bounding boxes.
- Light frustums.
-
Window management and swapchain creation
- Fullscreen/Windowed modes.
-
Support for DXC/SM6.x (also on Vulkan®).
- FreeSync™ 2 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

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 denoising compute shader which removes artefacts from reflection rendering.

AMD FidelityFX – Luminance Preserving 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
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
AMD FidelityFX Combined Adaptive Compute Ambient Occlusion (CACAO) is an RDNA-optimized implementation of ambient occlusion.

AMD FidelityFX – Single Pass Downsampler
FidelityFX Single Pass Downsampler (SPD) provides an RDNA-optimized solution for generating up to 12 MIP levels of a texture.

AMD FidelityFX – Contrast Adaptive Sharpening
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.
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
- [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 – 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 denoising compute shader which removes artefacts from reflection rendering.

AMD FidelityFX – Luminance Preserving 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
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
AMD FidelityFX Combined Adaptive Compute Ambient Occlusion (CACAO) is an RDNA-optimized implementation of ambient occlusion.

AMD FidelityFX – Single Pass Downsampler
FidelityFX Single Pass Downsampler (SPD) provides an RDNA-optimized solution for generating up to 12 MIP levels of a texture.

AMD FidelityFX – Contrast Adaptive Sharpening
AMD FidelityFX Contrast Adaptive Sharpening (CAS) provides a mixed ability to sharpen and optionally scale an image.
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.