UI backdrop blur
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## What problem does this solve or what need does it fill?
Currently, blur effects are contained within specialized effects like bloom, depth of field, UI box shadow, motion blur, etc.. A specialized blur effect would be useful for blurring the full screen behind a pause menu, or frosted glass effects for UI elements.
Users who wish to do this today would need to create custom solutions that may involve modifying existing post-processing modules or hooking into rendering internals.
## What solution would you like?
A backdrop blur module to be used by UI nodes in `bevy_ui_render` to blur the rendered content behind it, as well as facility to composite UI elements on top of a blurred scene (like GTA V's pause menu)
Ideally would use Dual Kawase blur since it's cheaper than Gaussian blur with similar results. ([great blur article here](https://blog.frost.kiwi/dual-kawase/)).
## What alternative(s) have you considered?
A more general blur which can be applied to non-UI elements. I think it's best to scope this to UI only to keep things simple for now.
Contributor guide
Research direction
Start by reading the UI rendering code in `bevy_ui_render` and the linked Dual Kawase blur article. Define how a backdrop blur for UI nodes and compositing UI over the blurred scene should fit the existing rendering flow; the work is done when those pause-menu and frosted-glass use cases are supported within the UI scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100