bevy/crates
Elabajaba 65b3ff1c63
Log a warning when the tonemapping_luts feature is disabled but required for the selected tonemapper. (#10253)
# Objective

Make it obvious why stuff renders pink when rendering stuff with bevy
with `default_features = false` and bevy's default tonemapper
(TonyMcMapFace, it requires a LUT which requires the `tonemapping_luts`,
`ktx2`, and `zstd` features).

Not sure if this should be considered as fixing these issues, but in my
previous PR (https://github.com/bevyengine/bevy/pull/9073, and old
discussions on discord that I only somewhat remember) it seemed like we
didn't want to make ktx2 and zstd required features for
bevy_core_pipeline.

Related https://github.com/bevyengine/bevy/issues/9179
Related https://github.com/bevyengine/bevy/issues/9098

## Solution

This logs an error when a LUT based tonemapper is used without the
`tonemapping_luts` feature enabled, and cleans up the default features a
bit (`tonemapping_luts` now includes the `ktx2` and `zstd` features,
since it panics without them).

Another solution would be to fall back to a non-lut based tonemapper,
but I don't like this solution as then it's not explicitly clear to
users why eg. a library example renders differently than a normal bevy
app (if the library forgot the `tonemapping_luts` feature).

I did remove the `ktx2` and `zstd` features from the list of default
features in Cargo.toml, as I don't believe anything else currently in
bevy relies on them (or at least searching through every hit for `ktx2`
and `zstd` didn't show anything except loading an environment map in
some examples), and they still show up in the `cargo_features` doc as
default features.

---

## Changelog

- The `tonemapping_luts` feature now includes both the `ktx2` and `zstd`
features to avoid a panic when the `tonemapping_luts` feature was enable
without both the `ktx2` and `zstd` feature enabled.
2023-10-27 02:07:24 +00:00
..
bevy_a11y Various accessibility API updates. (#9989) 2023-10-02 21:22:52 +00:00
bevy_animation refactor: Change Option<With<T>> query params to Has<T> (#9959) 2023-10-02 01:21:41 +00:00
bevy_app Replace all labels with interned labels (#7762) 2023-10-25 21:39:23 +00:00
bevy_asset Reuse and hot reload folder handles (#10210) 2023-10-26 22:19:57 +00:00
bevy_audio More ergonomic spatial audio (#9800) 2023-10-09 19:43:56 +00:00
bevy_core Global TaskPool API improvements (#10008) 2023-10-23 20:48:48 +00:00
bevy_core_pipeline Log a warning when the tonemapping_luts feature is disabled but required for the selected tonemapper. (#10253) 2023-10-27 02:07:24 +00:00
bevy_derive Replace all labels with interned labels (#7762) 2023-10-25 21:39:23 +00:00
bevy_diagnostic Unify FixedTime and Time while fixing several problems (#8964) 2023-10-16 01:57:55 +00:00
bevy_dylib Bump Version after Release (#9106) 2023-07-10 21:19:27 +00:00
bevy_dynamic_plugin Bump Version after Release (#9106) 2023-07-10 21:19:27 +00:00
bevy_ecs Replace all labels with interned labels (#7762) 2023-10-25 21:39:23 +00:00
bevy_ecs_compile_fail_tests Updates for rust 1.73 (#10035) 2023-10-06 00:31:10 +00:00
bevy_encase_derive Bump Version after Release (#9106) 2023-07-10 21:19:27 +00:00
bevy_gilrs Unify FixedTime and Time while fixing several problems (#8964) 2023-10-16 01:57:55 +00:00
bevy_gizmos Bind group entries (#9694) 2023-10-21 15:39:22 +00:00
bevy_gltf Image Sampler Improvements (#10254) 2023-10-26 23:30:09 +00:00
bevy_hierarchy Fix some warnings shown in nightly (#10012) 2023-10-05 05:41:09 +00:00
bevy_input few fmt tweaks (#10264) 2023-10-25 19:20:17 +00:00
bevy_internal re-export debug_glam_assert feature (#10206) 2023-10-22 23:01:28 +00:00
bevy_log Update tracy-client requirement from 0.15 to 0.16 (#9436) 2023-08-15 07:45:21 +00:00
bevy_macro_utils Replace all labels with interned labels (#7762) 2023-10-25 21:39:23 +00:00
bevy_macros_compile_fail_tests bevy_derive: Fix #[deref] breaking other attributes (#9551) 2023-08-28 17:36:18 +00:00
bevy_math re-export debug_glam_assert feature (#10206) 2023-10-22 23:01:28 +00:00
bevy_mikktspace add and fix shields in Readmes (#9993) 2023-10-15 00:52:31 +00:00
bevy_pbr Fix sampling of diffuse env map texture with non-uniform control flow (#10276) 2023-10-27 01:35:19 +00:00
bevy_ptr add and fix shields in Readmes (#9993) 2023-10-15 00:52:31 +00:00
bevy_reflect bevy_reflect: Fix ignored/skipped field order (#7575) 2023-10-22 12:43:31 +00:00
bevy_reflect_compile_fail_tests Improve TypeUuid's derive macro error messages (#9315) 2023-10-02 12:42:01 +00:00
bevy_render Image Sampler Improvements (#10254) 2023-10-26 23:30:09 +00:00
bevy_scene Correct Scene loader error description (#10161) 2023-10-17 17:58:35 +00:00
bevy_sprite Image Sampler Improvements (#10254) 2023-10-26 23:30:09 +00:00
bevy_tasks Update async-io requirement from 1.13.0 to 2.0.0 (#10238) 2023-10-23 23:49:57 +00:00
bevy_text Replace all usages of texture_descritor.size.* with the helper methods (#10227) 2023-10-23 20:49:02 +00:00
bevy_time add on_real_time_timer run condition (#10179) 2023-10-20 12:58:37 +00:00
bevy_transform Global TaskPool API improvements (#10008) 2023-10-23 20:48:48 +00:00
bevy_ui Fix crash with certain right-aligned text (#10271) 2023-10-26 22:09:34 +00:00
bevy_utils Replace all labels with interned labels (#7762) 2023-10-25 21:39:23 +00:00
bevy_window Application lifetime events (suspend audio on Android) (#10158) 2023-10-23 20:47:55 +00:00
bevy_winit Application lifetime events (suspend audio on Android) (#10158) 2023-10-23 20:47:55 +00:00