bevy/crates
Carter Anderson 3ec52c2bdb
Increase default normal bias to avoid common artifacts (#10346)
# Objective

Bevy's default bias values for directional and spot lights currently
cause significant artifacts. We should fix that so shadows look good by
default!

This is a less controversial/invasive alternative to #10188, which might
enable us to keep the default bias value low, but also has its own sets
of concerns and caveats that make it a risky choice for Bevy 0.12.

## Solution

Bump the default normal bias from `0.6` to `1.8`. There is precedent for
values in this general area as Godot has a default normal bias of `2.0`.

### Before


![image](https://github.com/superdump/bevy/assets/2694663/a5828011-33fc-4427-90ed-f093d7389053)

### After


![image](https://github.com/bevyengine/bevy/assets/2694663/0f2b16b0-c116-41ab-9886-1ace9e00efd6)

## Migration Guide

The default `shadow_normal_bias` value for `DirectionalLight` and
`SpotLight` has changed to accommodate artifacts introduced with the new
shadow PCF changes. It is unlikely (especially given the new PCF shadow
behaviors with these values), but you might need to manually tweak this
value if your scene requires a lower bias and it relied on the previous
default value.
2023-11-03 05:44:57 +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 Derive Error for more error types (#10240) 2023-10-28 22:20:37 +00:00
bevy_asset Additional AssetPath unit tests. (#10279) 2023-10-27 03:29:25 +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 allow DeferredPrepass to work without other prepass markers (#10223) 2023-11-03 01:09:14 +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 Derive Error for more error types (#10240) 2023-10-28 22:20:37 +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 StandardMaterial Light Transmission (#8015) 2023-10-31 20:59:02 +00:00
bevy_hierarchy Added 'clear_children' and 'replace_children' methods to BuildWorldChildren to be consistent with BuildChildren. (#10311) 2023-10-31 23:55:33 +00:00
bevy_input docs: Update input_toggle_active example (#9913) 2023-10-28 06:17:48 +00:00
bevy_internal StandardMaterial Light Transmission (#8015) 2023-10-31 20:59:02 +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 Add Cubic prefix to all cubic curve generators (#10299) 2023-10-28 21:53:38 +00:00
bevy_mikktspace Use clippy::doc_markdown more. (#10286) 2023-10-27 22:49:02 +00:00
bevy_pbr Increase default normal bias to avoid common artifacts (#10346) 2023-11-03 05:44:57 +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 Combine visibility queries in check_visibility_system (#10196) 2023-11-02 22:06:38 +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 [bevy_text] Document what happens when font is not specified (#10252) 2023-10-28 19:55:25 +00:00
bevy_time add on_real_time_timer run condition (#10179) 2023-10-20 12:58:37 +00:00
bevy_transform Derive Error for more error types (#10240) 2023-10-28 22:20:37 +00:00
bevy_ui UI batching Fix (#9610) 2023-11-03 01:14:43 +00:00
bevy_utils Replace all labels with interned labels (#7762) 2023-10-25 21:39:23 +00:00
bevy_window Slightly improve CursorIcon doc. (#10289) 2023-10-28 12:30:33 +00:00
bevy_winit Use clippy::doc_markdown more. (#10286) 2023-10-27 22:49:02 +00:00