Feathering for Gizmo lines
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## What problem does this solve or what need does it fill?
The line gizmos (and everything built on top of lines) currently rely on external anti-aliasing to remove staircase effects. Since high-quality AA is relatively expensive, it would be nice if that wasn't necessary to get good-looking lines.
## What solution would you like?
Lines can implement "feathering", which creates extra vertices around the lines that fade out into transparency over a few pixels. egui/epaint is an example of a library that implements this.
## What alternative(s) have you considered?
- Use FXAA instead, which looks kinda bad and is still likely more expensive than feathering since it's a full-screen pass.
- Use higher-quality AA like MSAA, which is relatively expensive in terms of memory usage/traffic and costs extra resolve passes.
Contributor guide
Research direction
Start by locating Bevy's gizmo line-rendering entry points and tracing how line vertices are generated; compare the described approach with egui/epaint's feathering implementation. Done means line gizmos and features built on them visibly reduce staircase effects through transparent edge vertices without requiring external anti-aliasing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100