We are releasing our Direct3D12-based research framework called AMD Capsaicin Framework!

AMD Capsaicin Framework is our internal research framework for real-time graphics which we have been using to develop and test new and upcoming rendering algorithms. The first of which is our real-time Global Illumination solution GI-1.0 that is also being releasing as part of this announcement – more on this later!

What is AMD Capsaicin Framework?

AMD Capsaicin Framework is our new rendering research framework which is easy-to-use, flexible, and designed for fast prototyping and development of real-time rendering research. It is built around 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. AMD Capsaicin Framework is therefore not intended to be a high-performance product development tool.

A key concept within AMD Capsaicin Framework 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. This flexibility allowed us to quickly iterate over various rendering pipelines, which was key to the development of the GI-1.0 algorithm.

Out of the box, the framework includes many useful HLSL functions for material sampling and evaluation, common math functions, light sampling and evaluation, spherical harmonics, random number generation, and more. Each of these can be used to quickly create new rendering algorithms and techniques. Speaking of techniques, the framework exposes pre-built techniques than can be mixed and matched as needed to create new render chains. Some of the stock components include Visibility Buffer generation, Temporal Anti-Aliasing (TAA), Screen-Space Global Illumination (SSGI), Light Sampling, Ray Tracing Acceleration structure building, Tone Mapping, glTF scene loading and more.

AMD Capsaicin Framework is still in its infancy and many areas are still very much ‘Work in Progress’ so expect more releases in the future as we continue to improve the framework and release some of our new algorithms and techniques – watch this space for more!

GI-1.0 – Global Illumination

Also, included in this AMD Capsaicin Framework release is an implementation of the GI-1.0 technique from our research paper.

Real-time global illumination is a key enabler of more dynamic and physically realistic worlds in games or any other applications with real-time constraints. The GI-1.0 technique takes advantage of hardware-accelerated ray tracing in modern GPUs but intelligently uses additional lighting structures to reduce the number of required rays and enable evaluation of indirect lighting entirely at runtime on current hardware.

This technique is what we use to estimate indirect lighting in real-time within the framework. It is based on a two-level radiance caching structure that allows you to reduce the sampling rate for increased performance while making the most of every ray through better sampling efficiency.

Check out the paper for more details or see the corresponding GDC presentation (YouTube link) for more.

Path Tracer

AMD Capsaicin Framework allows you to swap between renderers at runtime so, in addition to the real-time GI-1.0 renderer, we also include a renderer implementation for a GPU-accelerated reference Path Tracer.

Path Tracer1

Path Tracer2

Getting AMD Capsaicin Framework and GI-1.0

If you are interested in seeing the GI-1.0 algorithm at work or wanted to play with the new Capsaicin framework, you can get it from the product page. More details about the framework architecture as well as build instructions are included inside the README file.