mirror of
https://github.com/bevyengine/bevy
synced 2024-12-23 03:23:20 +00:00
001b3eb97c
# Objective Adopt code from [bevy_polyline](https://github.com/ForesightMiningSoftwareCorporation/bevy_polyline) for gizmo line-rendering. This adds configurable width and perspective rendering for the lines. Many thanks to @mtsr for the initial work on bevy_polyline. Thanks to @aevyrie for maintaining it, @nicopap for adding the depth_bias feature and the other [contributors](https://github.com/ForesightMiningSoftwareCorporation/bevy_polyline/graphs/contributors) for squashing bugs and keeping bevy_polyline up-to-date. #### Before ![Before](https://user-images.githubusercontent.com/29694403/232831591-a8e6ed0c-3a09-4413-80fa-74cb8e0d33dd.png) #### After - with line perspective ![After](https://user-images.githubusercontent.com/29694403/232831692-ba7cbeb7-e63a-4f8e-9b1b-1b80c668f149.png) Line perspective is not on by default because with perspective there is no default line width that works for every scene. <details><summary>After - without line perspective</summary> <p> ![After - no perspective](https://user-images.githubusercontent.com/29694403/232836344-0dbfb4c8-09b7-4cf5-95f9-a4c26f38dca3.png) </p> </details> Somewhat unexpectedly, the performance is improved with this PR. At 200,000 lines in many_gizmos I get ~110 FPS on main and ~200 FPS with this PR. I'm guessing this is a CPU side difference as I would expect the rendering technique to be more expensive on the GPU to some extent, but I am not entirely sure. --------- Co-authored-by: Jonas Matser <github@jonasmatser.nl> Co-authored-by: Aevyrie <aevyrie@gmail.com> Co-authored-by: Nicola Papale <nico@nicopap.ch> Co-authored-by: Nicola Papale <nicopap@users.noreply.github.com>
27 lines
1.1 KiB
TOML
27 lines
1.1 KiB
TOML
[package]
|
|
name = "bevy_gizmos"
|
|
version = "0.11.0-dev"
|
|
edition = "2021"
|
|
description = "Provides gizmos for Bevy Engine"
|
|
homepage = "https://bevyengine.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["bevy"]
|
|
|
|
[features]
|
|
webgl = []
|
|
|
|
[dependencies]
|
|
# Bevy
|
|
bevy_pbr = { path = "../bevy_pbr", version = "0.11.0-dev", optional = true }
|
|
bevy_sprite = { path = "../bevy_sprite", version = "0.11.0-dev", optional = true }
|
|
bevy_app = { path = "../bevy_app", version = "0.11.0-dev" }
|
|
bevy_ecs = { path = "../bevy_ecs", version = "0.11.0-dev" }
|
|
bevy_math = { path = "../bevy_math", version = "0.11.0-dev" }
|
|
bevy_asset = { path = "../bevy_asset", version = "0.11.0-dev" }
|
|
bevy_render = { path = "../bevy_render", version = "0.11.0-dev" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.11.0-dev" }
|
|
bevy_core = { path = "../bevy_core", version = "0.11.0-dev" }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.11.0-dev" }
|
|
bevy_core_pipeline = { path = "../bevy_core_pipeline", version = "0.11.0-dev" }
|
|
bevy_transform = { path = "../bevy_transform", version = "0.11.0-dev" }
|