bevy/crates
Opstic 9a3225d3a8
Add Aabb calculation for Sprite, TextureAtlasSprite and Mesh2d (#7885)
# Objective

- Add `Aabb` calculation for `Sprite`, `TextureAtlasSprite` and
`Mesh2d`.
- Enable frustum culling for 2D entities since frustum culling requires
a `Aabb` component in the entity to function.
- Improve 2D performance massively when there are many sprites out of
view. (ex: `many_sprites`)

## Solution

- Derived from @Weasy666's #3944 pull request, which had no activity
since multiple months.
- Adapted the code to the latest version of Bevy.
- Added support for sprites with non-center `Anchor`s to avoid culling
prematurely when part of the sprite is still in view or not culling when
sprite is already out of view.

### Note
- Gives 15.8x performance boosts in some scenarios. (5 fps vs 79 fps
with 409600 sprites in `many_sprites`)

---------

Co-authored-by: ira <JustTheCoolDude@gmail.com>
2023-04-24 14:26:08 +00:00
..
bevy_a11y Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_animation Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_app Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_asset Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_audio Ability to set a Global Volume (#7706) 2023-04-10 14:08:43 +00:00
bevy_core Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_core_pipeline Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_derive Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_diagnostic Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_dylib Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_dynamic_plugin Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_ecs Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_ecs_compile_fail_tests Fix 1.69 CI clippy lints (#8450) 2023-04-20 16:51:21 +00:00
bevy_encase_derive Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_gilrs Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_gizmos Added arc_2d function for gizmos (#8448) 2023-04-21 15:34:07 +00:00
bevy_gltf Add support for custom glTF vertex attributes. (#5370) 2023-04-24 14:20:13 +00:00
bevy_hierarchy Remove Children component when calling despawn_descendants (#8476) 2023-04-24 14:14:52 +00:00
bevy_input Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_internal add a default font (#8445) 2023-04-21 22:30:18 +00:00
bevy_log add a feature for memory tracing with tracy (#8272) 2023-04-17 16:04:46 +00:00
bevy_macro_utils Simplify world schedule methods (#8403) 2023-04-19 19:48:35 +00:00
bevy_math Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_mikktspace Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_pbr Handle vertex_uvs if they are present in default prepass fragment shader (#8330) 2023-04-23 08:07:15 +00:00
bevy_ptr Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_reflect Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_reflect_compile_fail_tests Fix 1.69 CI clippy lints (#8450) 2023-04-20 16:51:21 +00:00
bevy_render docs(bevy_render): Remove copy-pasted docstring (#8479) 2023-04-24 00:46:49 +00:00
bevy_scene Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_sprite Add Aabb calculation for Sprite, TextureAtlasSprite and Mesh2d (#7885) 2023-04-24 14:26:08 +00:00
bevy_tasks Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_text Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_time Add a scope API for world schedules (#8387) 2023-04-16 05:09:33 +00:00
bevy_transform Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_ui Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_utils Simplify world schedule methods (#8403) 2023-04-19 19:48:35 +00:00
bevy_window Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_winit Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00