mirror of
https://github.com/bevyengine/bevy
synced 2024-12-23 03:23:20 +00:00
31bd4ecbbc
# Objective Load skeletal weights and indices from GLTF files. Animate meshes. ## Solution - Load skeletal weights and indices from GLTF files. - Added `SkinnedMesh` component and ` SkinnedMeshInverseBindPose` asset - Added `extract_skinned_meshes` to extract joint matrices. - Added queue phase systems for enqueuing the buffer writes. Some notes: - This ports part of # #2359 to the current main. - This generates new `BufferVec`s and bind groups every frame. The expectation here is that the number of `Query::get` calls during extract is probably going to be the stronger bottleneck, with up to 256 calls per skinned mesh. Until that is optimized, caching buffers and bind groups is probably a non-concern. - Unfortunately, due to the uniform size requirements, this means a 16KB buffer is allocated for every skinned mesh every frame. There's probably a few ways to get around this, but most of them require either compute shaders or storage buffers, which are both incompatible with WebGL2. Co-authored-by: james7132 <contact@jamessliu.com> Co-authored-by: François <mockersf@gmail.com> Co-authored-by: James Liu <contact@jamessliu.com>
32 lines
1.1 KiB
TOML
32 lines
1.1 KiB
TOML
[package]
|
|
name = "bevy_pbr"
|
|
version = "0.7.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 = []
|
|
|
|
[dependencies]
|
|
# bevy
|
|
bevy_app = { path = "../bevy_app", version = "0.7.0-dev" }
|
|
bevy_asset = { path = "../bevy_asset", version = "0.7.0-dev" }
|
|
bevy_core = { path = "../bevy_core", version = "0.7.0-dev" }
|
|
bevy_core_pipeline = { path = "../bevy_core_pipeline", version = "0.7.0-dev" }
|
|
bevy_ecs = { path = "../bevy_ecs", version = "0.7.0-dev" }
|
|
bevy_math = { path = "../bevy_math", version = "0.7.0-dev" }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.7.0-dev", features = ["bevy"] }
|
|
bevy_render = { path = "../bevy_render", version = "0.7.0-dev" }
|
|
bevy_transform = { path = "../bevy_transform", version = "0.7.0-dev" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.7.0-dev" }
|
|
bevy_window = { path = "../bevy_window", version = "0.7.0-dev" }
|
|
|
|
# other
|
|
bitflags = "1.2"
|
|
# direct dependency required for derive macro
|
|
bytemuck = { version = "1", features = ["derive"] }
|
|
smallvec = "1.0"
|