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
GI-1.1 adds support for glossy reflections rendering
GI-1.1 is available now as part of the AMD Capsaicin Framework. GI-1.1 includes new support for glossy reflections rendering.
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
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 Radeonâ„¢ Anti-Lag 2 reduces the system latency by applying frame alignment between the CPU and GPU jobs.
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.