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.00
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.
- Unbiased reference path tracer
- Real-time global illumination with no pre-processing
- Radiance caching in screen space and world space
- Simple denoiser for final image cleanup
- World space reservoir sampling
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.
The flexibility of the framework allowed us to quickly iterate over various rendering pipelines, which was key to the development of the GI-1.0 algorithm.
GI-1.0 - Global Illumination
We’ve implemented the GI-1.0 technique based on our research paper 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.
Make sure to check out the paper for more details!
Don’t miss our GDC23 presentation at the Advanced Graphics Summit for the GI-1.0 technique (YouTube link).
- 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
The Render Pipeline Shaders (RPS) SDK provides a framework for graphics engines to use Render Graphs with explicit APIs.
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.
Brotli-G is an open-source compression/decompression standard for digital assets (based on Brotli) that is compatible with GPU hardware.
HIP RT is a ray tracing library for HIP, making it easy to write ray tracing applications in HIP.
Orochi is a library which loads HIP and CUDA® APIs dynamically, allowing the user to switch APIs at runtime.
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.
Radeon™ Machine Learning (Radeon™ ML or RML) is an AMD SDK for high-performance deep learning inference on GPUs.
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.
The Advanced Media Framework SDK provides developers with optimal access to AMD GPUs for multimedia processing.
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.
The AMD Display Library (ADL) SDK is designed to access display driver functionality for AMD Radeon™ and AMD FirePro™ graphics cards.
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.