DSR
The DSR plugin integrates support for Microsoft DirectSR, enabling high-quality image upscaling across multiple GPU vendors. It dynamically selects the best available upscaling backend (DLSS, FSR, or XeSS) on the underlying hardware and driver capabilities.
note
This plugin is compatible with the Direct3D12 graphics API only.
#include <render/dsr/include/TellusimRenderDSR.h>
Example
// Init DSR
if(!RenderDSR::init()) return false;
// Create DSR
RenderDSR render_dsr;
if(!render_dsr.create(device)) return false;
// light texture
renderer.dispatchLight(device, compute, frame, renderer_flags);
// Generate occluder texture
renderer.dispatchOccluder(device, compute, frame, renderer_flags);
// Calculate luminance for exposure adaptation
renderer.dispatchLuminance(device, compute, frame, renderer_flags);
// Run DSR upscaling
render_dsr.dispatch(device, compute, frame);
// Final tonemapping and compositing
renderer.dispatchComposite(device, compute, frame, RenderRenderer::FlagCompositeTonemap);