29 lines
1.7 KiB
Markdown
29 lines
1.7 KiB
Markdown
---
|
|
title: Deep Learning Super Sampling (DLSS)
|
|
authors: ["@JMS55"]
|
|
pull_requests: [19817, 19864]
|
|
---
|
|
|
|
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 before `DefaultPlugins` when setting up your app
|
|
* Add the `Dlss` component to your camera entity, optionally setting a specific `DlssPerfQualityMode` (defaults to `Auto`)
|
|
* 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.
|