bevyengine / bevyengine/bevy

TAA behaves weird in multiple-camera setups

Open
#18,903 1 comment 0 reactions 0 assignees View on GitHub
A-Rendering C-Bug
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## Bevy version

0.15.3

## Relevant system information

```ignore
`AdapterInfo { name: "AMD Radeon RX 7900 XTX (RADV NAVI31)", vendor: 4098, device: 29772, device_type: DiscreteGpu, driver: "radv", driver_info: "Mesa 25.0.3", backend: Vulkan }`
```

## What you did

Copied the [first person view model example](https://bevyengine.org/examples/camera/first-person-view-model/), added the TAA plugin, and changed some things around (see below)

## What went wrong

- TAA only on world model -> everything is rendered
- TAA only on view model -> only view model is rendered
- TAA on both cameras -> only view model is rendered
- TAA only on world model, HDR enabled on both cameras -> only view model is rendered
- TAA only on view model, HDR enabled on both cameras-> only view model is rendered
- TAA on both cameras, HDR enabled on both cameras -> only view model is rendered

Enabling HDR on only one camera requires reconfiguring the view model camera a bit according to https://github.com/bevyengine/bevy/issues/18901:
```rust
Camera {
hdr: true,
order: 1,
// this part is relevant
clear_color: ClearColorConfig::Custom(Color::NONE),
output_mode: CameraOutputMode::Write {
blend_state: Some(BlendState::ALPHA_BLENDING),
clear_color: ClearColorConfig::None,
},
..default()
},
```

With those changes:

- TAA only on world model, HDR enabled on world model -> everything is rendered
- TAA only on view model, HDR enabled on world model -> everything is rendered
- TAA on both cameras, HDR enabled on world model -> everything is rendered
- TAA only on world model, HDR enabled on view model -> everything is rendered
- TAA only on view model, HDR enabled on view model -> everything is rendered
- TAA on both cameras, HDR enabled on view model -> everything is rendered

Now, even the version with HDR on for both cameras works!
- TAA only on world model, HDR enabled on both cameras -> everything is rendered
- TAA only on view model, HDR enabled on both cameras -> everything is rendered
- TAA on both cameras, HDR enabled on both cameras -> everything is rendered

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the first-person view model example with Bevy 0.15.3, then apply the TAA plugin and camera/HDR combinations described here. Compare the results with the camera configuration discussed in issue 18901; done means world and view-model cameras both render correctly across the listed TAA and HDR setups.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.