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:

Cauldron is used by the following effects

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.

A set of guidelines for developers on how to present options in the game’s user interface to enable/disable AMD FidelityFX Effects.

Find out what developers are saying about AMD FidelityFX.

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

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.