bevy/crates
James Liu 31bd4ecbbc Mesh Skinning. Attempt #3 (#4238)
# 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>
2022-03-29 18:31:13 +00:00
..
bevy_app Prevent event from getting registered twice (#4258) 2022-03-20 21:54:10 +00:00
bevy_asset Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_audio Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_core Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_core_pipeline Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
bevy_crevice Add a helper for storage buffers similar to UniformVec (#4079) 2022-03-22 21:23:50 +00:00
bevy_derive bevy_derive: Add derives for Deref and DerefMut (#4328) 2022-03-29 02:10:06 +00:00
bevy_diagnostic Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_dylib Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_dynamic_plugin Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_ecs CI runs cargo miri test -p bevy_ecs (#4310) 2022-03-25 00:26:07 +00:00
bevy_ecs_compile_fail_tests yeet unsound lifetime annotations on Query methods (#4243) 2022-03-22 02:49:41 +00:00
bevy_gilrs Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_gltf Mesh Skinning. Attempt #3 (#4238) 2022-03-29 18:31:13 +00:00
bevy_hierarchy Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_input Check an Input's pressed set before adding to just_released. (#4209) 2022-03-20 21:54:09 +00:00
bevy_internal bevy_derive: Add derives for Deref and DerefMut (#4328) 2022-03-29 02:10:06 +00:00
bevy_log Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_macro_utils Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_math Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_pbr Mesh Skinning. Attempt #3 (#4238) 2022-03-29 18:31:13 +00:00
bevy_reflect Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_render Mesh Skinning. Attempt #3 (#4238) 2022-03-29 18:31:13 +00:00
bevy_scene Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_sprite Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
bevy_tasks CI runs cargo miri test -p bevy_ecs (#4310) 2022-03-25 00:26:07 +00:00
bevy_text Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_transform bevy_transform: Use Changed in the query for much faster transform_propagate_system (#4180) 2022-03-29 03:05:01 +00:00
bevy_ui Compute Pipeline Specialization (#3979) 2022-03-23 00:27:26 +00:00
bevy_utils Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_window Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00
bevy_winit Bump Bevy to 0.7.0-dev (#4230) 2022-03-19 03:54:15 +00:00