| 1 |
--- |
| 2 |
title: "`Tonemapping::None` is now a full passthrough" |
| 3 |
pull_requests: [25499, 25685] |
| 4 |
--- |
| 5 |
|
| 6 |
`Tonemapping::None` is now a full passthrough. `ColorGrading` and `DebandDither` no longer |
| 7 |
apply under it, and negative color channels are no longer clamped to zero. `Camera3d` |
| 8 |
enables `DebandDither` by default, so a `Camera3d` without `Hdr` that used |
| 9 |
`Tonemapping::None` renders differently. If you used `Tonemapping::None` to turn off the |
| 10 |
tone curve, use the new `Tonemapping::Linear` instead. It applies no tone curve and keeps |
| 11 |
grading, dither, and the clamp. |
| 12 |
|
| 13 |
```rust |
| 14 |
// 0.19 |
| 15 |
commands.spawn((Camera3d::default(), Tonemapping::None)); |
| 16 |
|
| 17 |
// 0.20 |
| 18 |
commands.spawn((Camera3d::default(), Tonemapping::Linear)); |
| 19 |
``` |
| 20 |
|
| 21 |
`Camera2d` now defaults to `Tonemapping::Linear`. No change is needed for 2D cameras. A |
| 22 |
`Camera2d` with `Hdr` now runs the tonemapping pass. |
| 23 |
|
| 24 |
Bevy logs a warning for a camera that combines `Tonemapping::None` with `DebandDither::Enabled` |
| 25 |
or a non-default `ColorGrading`. |