Panic if `bevy_anti_alias` is enabled and `bevy_post_process` is disabled
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## Bevy version and features
0.17.3
with `bevy_anti_alias` feature and without `bevy_post_process`
## What you did
Just run bevy with a simple scene
## What went wrong
DLSS and TAA plugins add nodes that depend on `Node3d::MotionBlur` and `Node3d::Bloom`, but them don't exist in render graph if `bevy_anti_alias` is disabled.
```
0: bevy_app::app::plugin build
with plugin="bevy_anti_alias::taa::TemporalAntiAliasPlugin"
at /home/luo/.cargo/git/checkouts/bevy-505fa39dcb5ad98a/36358fb/crates/bevy_app/src/app.rs:518
1: bevy_app::app::plugin build
with plugin="bevy_anti_alias::AntiAliasPlugin"
at /home/luo/.cargo/git/checkouts/bevy-505fa39dcb5ad98a/36358fb/crates/bevy_app/src/app.rs:518
thread 'main' (939766) panicked at /home/luo/.cargo/git/checkouts/bevy-505fa39dcb5ad98a/36358fb/crates/bevy_anti_alias/src/taa/mod.rs:73:14:
node MotionBlur does not exist
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/0df64c57843a9612c68dd78bafa133f5b5d340c4/library/std/src/panicking.rs:690:5
1: core::panicking::panic_fmt
at /rustc/0df64c57843a9612c68dd78bafa133f5b5d340c4/library/core/src/panicking.rs:80:14
2: add_node_edges<5, (bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d)>
at /home/luo/.cargo/git/checkouts/bevy-505fa39dcb5ad98a/36358fb/crates/bevy_render/src/render_graph/graph.rs:159:26
3: add_render_graph_edges<5, bevy_core_pipeline::core_3d::graph::Core3d, (bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d)>
at /home/luo/.cargo/git/checkouts/bevy-505fa39dcb5ad98a/36358fb/crates/bevy_render/src/render_graph/app.rs:67:19
4: add_render_graph_edges<5, bevy_core_pipeline::core_3d::graph::Core3d, (bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d, bevy_core_pipeline::core_3d::graph::Node3d)>
at /home/luo/.cargo/git/checkouts/bevy-505fa39dcb5ad98a/36358fb/crates/bevy_render/src/render_graph/app.rs:131:9
5: build
at /home/luo/.cargo/git/checkouts/bevy-505fa39dcb5ad98a/36358fb/crates/bevy_anti_alias/src/taa/mod.rs:73:14
6: {closure#0}
at /home/luo/.cargo/git/checkouts/bevy-505fa39dcb5ad98a/36358fb/crates/bevy_app/src/app.rs:520:44
7: call_once
```
Contributor guide
Research direction
Start with crates/bevy_anti_alias/src/taa/mod.rs at the reported plugin build line, then inspect the render-graph nodes named in the panic and the bevy_anti_alias/bevy_post_process feature combination. Run Bevy with a simple scene using bevy_anti_alias without bevy_post_process; done means that configuration no longer panics while configuring TAA or DLSS nodes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100