mirror of
https://github.com/bevyengine/bevy
synced 2024-12-20 01:53:12 +00:00
4f20faaa43
# Objective - Implements a more efficient, GPU-driven (https://github.com/bevyengine/bevy/issues/1342) rendering pipeline based on meshlets. - Meshes are split into small clusters of triangles called meshlets, each of which acts as a mini index buffer into the larger mesh data. Meshlets can be compressed, streamed, culled, and batched much more efficiently than monolithic meshes. ![image](https://github.com/bevyengine/bevy/assets/47158642/cb2aaad0-7a9a-4e14-93b0-15d4e895b26a) ![image](https://github.com/bevyengine/bevy/assets/47158642/7534035b-1eb7-4278-9b99-5322e4401715) # Misc * Future work: https://github.com/bevyengine/bevy/issues/11518 * Nanite reference: https://advances.realtimerendering.com/s2021/Karis_Nanite_SIGGRAPH_Advances_2021_final.pdf Two pass occlusion culling explained very well: https://medium.com/@mil_kru/two-pass-occlusion-culling-4100edcad501 --------- Co-authored-by: Ricky Taylor <rickytaylor26@gmail.com> Co-authored-by: vero <email@atlasdostal.com> Co-authored-by: François <mockersf@gmail.com> Co-authored-by: atlas dostal <rodol@rivalrebels.com>
59 lines
1.9 KiB
TOML
59 lines
1.9 KiB
TOML
[package]
|
|
name = "bevy_pbr"
|
|
version = "0.14.0-dev"
|
|
edition = "2021"
|
|
description = "Adds PBR rendering to Bevy Engine"
|
|
homepage = "https://bevyengine.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["bevy"]
|
|
|
|
[features]
|
|
webgl = []
|
|
webgpu = []
|
|
pbr_transmission_textures = []
|
|
shader_format_glsl = ["bevy_render/shader_format_glsl"]
|
|
trace = ["bevy_render/trace"]
|
|
ios_simulator = ["bevy_render/ios_simulator"]
|
|
# Enables the meshlet renderer for dense high-poly scenes (experimental)
|
|
meshlet = []
|
|
# Enables processing meshes into meshlet meshes
|
|
meshlet_processor = ["dep:meshopt", "dep:thiserror"]
|
|
|
|
[dependencies]
|
|
# bevy
|
|
bevy_app = { path = "../bevy_app", version = "0.14.0-dev" }
|
|
bevy_asset = { path = "../bevy_asset", version = "0.14.0-dev" }
|
|
bevy_color = { path = "../bevy_color", version = "0.14.0-dev" }
|
|
bevy_core_pipeline = { path = "../bevy_core_pipeline", version = "0.14.0-dev" }
|
|
bevy_ecs = { path = "../bevy_ecs", version = "0.14.0-dev" }
|
|
bevy_math = { path = "../bevy_math", version = "0.14.0-dev" }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.14.0-dev", features = [
|
|
"bevy",
|
|
] }
|
|
bevy_render = { path = "../bevy_render", version = "0.14.0-dev" }
|
|
bevy_transform = { path = "../bevy_transform", version = "0.14.0-dev" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.14.0-dev" }
|
|
bevy_window = { path = "../bevy_window", version = "0.14.0-dev" }
|
|
bevy_derive = { path = "../bevy_derive", version = "0.14.0-dev" }
|
|
|
|
# other
|
|
meshopt = { version = "0.2", optional = true }
|
|
thiserror = { version = "1", optional = true }
|
|
bitflags = "2.3"
|
|
fixedbitset = "0.5"
|
|
# direct dependency required for derive macro
|
|
bytemuck = { version = "1", features = ["derive"] }
|
|
radsort = "0.1"
|
|
smallvec = "1.6"
|
|
serde = { version = "1", features = ["derive", "rc"] }
|
|
bincode = "1"
|
|
range-alloc = "0.1"
|
|
nonmax = "0.5"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[package.metadata.docs.rs]
|
|
rustdoc-args = ["-Zunstable-options", "--cfg", "docsrs"]
|
|
all-features = true
|