
# Objective My ecosystem crate, bevy_mod_outline, currently uses `SetMeshBindGroup` as part of its custom rendering pipeline. I would like to allow for possibility that, due to changes in 0.16, I need to customise the behaviour of `SetMeshBindGroup` in order to make it work. However, not all of the symbol needed to implement this render command are public outside of Bevy. ## Solution - Include `MorphIndices` in re-export list. I feel this is morally equivalent to `SkinUniforms` already being exported. - Change `MorphIndex::index` field to be public. I feel this is morally equivalent to the `SkinByteOffset::byte_offset` field already being public. - Change `RenderMeshIntances::mesh_asset_id()` to be public (although since all the fields of `RenderMeshInstances` are public it's possible to work around this one by reimplementing). These changes exclude: - Making any change to the `RenderLightmaps` type as I don't need to bind the light-maps for my use-case and I wanted to keep these changes minimal. It has a private field which would need to be public or have access methods. - The changes already included in #18612. ## Testing Confirmed that a copy of `SetMeshBindGroup` can be compiled outside of Bevy with these changes, provided that the light-map code is removed. --------- Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
18 lines
399 B
Rust
18 lines
399 B
Rust
mod fog;
|
|
mod gpu_preprocess;
|
|
mod light;
|
|
pub(crate) mod mesh;
|
|
mod mesh_bindings;
|
|
mod mesh_view_bindings;
|
|
mod morph;
|
|
pub(crate) mod skin;
|
|
|
|
pub use fog::*;
|
|
pub use gpu_preprocess::*;
|
|
pub use light::*;
|
|
pub use mesh::*;
|
|
pub use mesh_bindings::MeshLayouts;
|
|
pub use mesh_view_bindings::*;
|
|
pub use morph::*;
|
|
pub use skin::{extract_skins, prepare_skins, skins_use_uniform_buffers, SkinUniforms, MAX_JOINTS};
|