Cauldron Framework

Drivers, SDKs and Libraries, Effects

Cauldron is a framework library for rapid prototyping using either the Vulkan® or Direct3D 12 APIs.

It 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.

Features

The Cauldron framework includes the following features:

  • Swapchain management
    • Fullscreen/Windowed Modes
  • 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
  • glTF 2.0 File loader
    • Animation for cameras, objects, skeletons and lights
    • Skinning
    • 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
  • Support for DXC/SM6.x
    • Shader Binary & PSO caching
  • A simple post-processing pipeline
    • 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
  • Debug Rendering
    • Wireframe Bounding Boxes
    • Light Frustums

Examples

  • GltfSample, is a basic sample that can generate images like the ones below with a few lines of code:

  • FidelityFX, a series of post processing-shaders aimed at improving visual quality.
  • Compressonator, a set of tools to allow artists and developers to more easily work with compressed assets.

GitHub source code

Resources