AMD Capsaicin Framework
Advanced Rendering Research Group

Our Direct3D® 12 framework for real-time graphics research.

AMD Capsaicin Framework is a simple and flexible tool for fast prototyping and development of real-time rendering research.

Download the latest version - v1.1

This release adds the following features:

  • GI-1.1: Updated Global Illumination system now with reflections!
  • Spherical capped VNDF sampling (see our paper)
  • Improved light sampling
  • DXR1.0 support in addition to DXR1.1
  • Improved render option system
  • New animation system
  • More flexible instancing support
  • Improved TBN calculation (supports mirroring and negative scale)
  • And many bug fixes and smaller improvements

Features

This sample showcases the AMD Capsaicin Framework as well as the GI1.0 Global Illumination technique.

These include the following features:

  • AMD Capsaicin Framework:
    • Abstraction of common rendering operations
    • Modular framework for easy development and collaboration
    • Scene and model loading and animation
    • Inbuilt user extensible UI
    • Automated debugging and profiling information
    • Pluggable and swappable common rendering techniques such as ToneMapping, TAA, AO etc.
    • Reference path tracer
  • GI-1.1
    • Real-time global illumination with no pre-processing
    • Radiance caching in screen space and world space
    • Specular reflections
    • Simple denoiser for final image cleanup
    • World space reservoir sampling

AMD Capsaicin Framework is a research framework for real-time graphics which we have been using to develop and test new and upcoming rendering algorithms. We are now releasing it to the public.

Benefits

The Capsaicin core principles involve creating simple abstractions over complex low-level hardware implementation details to allow developers to focus on writing algorithms instead of dealing with complex API specifics. The framework makes efforts to ensure these abstractions are performant but the priority is rapid developer iteration and debugging and thus Capsaicin is not intended to be a high performance product development tool.

A key concept within Capsaicin is the ability to support multiple different research implementations and multiple concurrent developers independently working within the code base. To enable this the framework uses a modular design that allows for different components to be independently developed and then combined/reused in different ways.

GI-1.1 - Global Illumination

We’ve implemented the GI-1.1 technique based on our research papers to estimate indirect lighting in real-time.

It is based on a two-level radiance caching structure that allows to reduce the sampling rate for increased performance while making the most of every ray through better sampling.

Check out the paper for more details.

GDC 2023 presentation at the Advanced Graphics Summit for the GI-1.0 technique (YouTube link).

GI-1.1 added reflection support, see the paper for more details.

Requirements

  • A graphics card with Direct3D® 12 and DXR 1.1 support.
  • Windows® 10 20H2 or newer (64-bit recommended).
  • Visual Studio® 2019 or higher with Visual C++® and the Windows® 10 SDK installed.
  • CMake 3.10 or newer

Version history

  • GI-1.1: Updated Global Illumination system now with reflections!
  • Spherical capped VNDF sampling (see our paper)
  • Improved light sampling
  • DXR1.0 support in addition to DXR1.1
  • Improved render option system
  • New animation system
  • More flexible instancing support
  • Improved TBN calculation (supports mirroring and negative scale)
  • And many bug fixes and smaller improvements
  • Initial release

Related links

AMD Render Pipeline Shaders (RPS) SDK

The Render Pipeline Shaders (RPS) SDK provides a framework for graphics engines to use Render Graphs with explicit APIs.

AMD Device Library eXtra

ADLX is a modern library designed to access features and functionality of AMD systems such as Display, 3D graphics, Performance Monitoring, GPU Tuning, and more.

AMD Brotli-G SDK

Brotli-G is an open-source compression/decompression standard for digital assets (based on Brotli) that is compatible with GPU hardware.

AMD HIP Ray Tracing

HIP RT is a ray tracing library for HIP, making it easy to write ray tracing applications in HIP.

AMD Orochi

Orochi is a library which loads HIP and CUDA® APIs dynamically, allowing the user to switch APIs at runtime.

AMD Radeon ProRender Developer Suite

AMD Radeon™ ProRender is our fast, easy, and incredible physically-based rendering engine built on industry standards that enables accelerated rendering on virtually any GPU, any CPU, and any OS in over a dozen leading digital content creation and CAD applications.

AMD Radeon ML

Radeon™ Machine Learning (Radeon™ ML or RML) is an AMD SDK for high-performance deep learning inference on GPUs.

AMD Radeon Image Filter

Harness the power of machine learning to enhance images with denoising, enabling your application to produce high quality images in a fraction of the time traditional denoising filters take.

AMD Advanced Media Framework

The Advanced Media Framework SDK provides developers with optimal access to AMD GPUs for multimedia processing.

AMD GPUOpen Direct3D12 Memory Allocator (D3D12MA)

The D3D12 Memory Allocator (D3D12MA) is a C++ library that provides a simple and easy-to-integrate API to help you allocate memory for DirectX®12 buffers and textures.

ADL

The AMD Display Library (ADL) SDK is designed to access display driver functionality for AMD Radeon™ and AMD FirePro™ graphics cards.

AGS

The AMD GPU Services (AGS) library provides software developers with the ability to query AMD GPU software and hardware state information that is not normally available through standard operating systems or graphics APIs.