bevy/crates/bevy_pbr/src
Robin KAY d5d57bbd26 Expose symbols needed to replicate SetMeshBindGroup in ecosystem crates. (#18613)
# 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>
2025-03-31 22:33:28 +02:00
..
atmosphere bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
cluster reexport entity set collections in entity module (#18413) 2025-03-30 10:24:00 +02:00
decal reexport entity set collections in entity module (#18413) 2025-03-30 10:24:00 +02:00
deferred Add required shader defs for environment map binding arrays in deferred (#18634) 2025-03-31 22:33:27 +02:00
light reexport entity set collections in entity module (#18413) 2025-03-30 10:24:00 +02:00
light_probe bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
lightmap bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
meshlet Fix mesh extraction for meshes without associated material. (#18631) 2025-03-31 22:33:27 +02:00
prepass Move non-generic parts of the PrepassPipeline to internal field (#18322) 2025-03-25 22:59:04 +01:00
render Expose symbols needed to replicate SetMeshBindGroup in ecosystem crates. (#18613) 2025-03-31 22:33:28 +02:00
ssao bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
ssr bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
volumetric_fog bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
components.rs reexport entity set collections in entity module (#18413) 2025-03-30 10:24:00 +02:00
extended_material.rs bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
fog.rs bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
lib.rs Add missing system ordering constraint to prepare_lights (#18308) 2025-03-15 22:57:52 +00:00
material_bind_groups.rs bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
material.rs Remove entities from specialization caches when despawned. (#18627) 2025-03-31 22:33:27 +02:00
mesh_material.rs bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
parallax.rs bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
pbr_material.rs bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
wireframe.rs bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00