1.7 KiB
title | authors | pull_requests | |||
---|---|---|---|---|---|
Deep Learning Super Sampling (DLSS) |
|
|
For users with NVIDIA RTX GPUs, Bevy now offers yet another form of anti-aliasing: DLSS.
Try it out by running Bevy's anti_aliasing example: cargo run --example anti_aliasing --features dlss --release
(after performing setup from https://github.com/JMS55/dlss_wgpu).
Compared to Bevy's built-in TAA, DLSS:
- Is much higher quality
- Supports upscaling in addition to anti-aliasing, leading to much cheaper render times, particularly when used with GPU-heavy features like Bevy Solari
- Requires a NVIDIA RTX GPU
- Requires running via the Vulkan backend on Windows/Linux (no macOS, web, or mobile support)
To use DLSS in your app:
- See https://github.com/JMS55/dlss_wgpu for licensing requirements and setup instructions
- Enable Bevy's
dlss
feature - Insert the
DlssProjectId
resource beforeDefaultPlugins
when setting up your app - Add the
Dlss
component to your camera entity, optionally setting a specificDlssPerfQualityMode
(defaults toAuto
) - Optionally add sharpening via
ContrastAdaptiveSharpening
Other temporal upscalers like AMD's FidelityFX™ Super Resolution (FSR), Intel's Xe Super Sampling XeSS (XeSS), and Apple's MTLFXTemporalScaler are not integrated in this release. However they all use similiar APIs, and would not be a challenge to integrate in future releases.
Support for other swapchain-related features like frame interpolation/extrapolation or latency redunction are not currently planned, but support for DLSS Ray Reconstruction for use in Bevy Solari is planned for a future release.
Special thanks to @cwfitzgerald for helping with the wgpu backend interop APIs.