bevy/crates/bevy_pbr/src/render
charlotte a861452d68
Add user supplied mesh tag (#17648)
# Objective

Because of mesh preprocessing, users cannot rely on
`@builtin(instance_index)` in order to reference external data, as the
instance index is not stable, either from frame to frame or relative to
the total spawn order of mesh instances.

## Solution

Add a user supplied mesh index that can be used for referencing external
data when drawing instanced meshes.

Closes #13373

## Testing

Benchmarked `many_cubes` showing no difference in total frame time.

## Showcase



https://github.com/user-attachments/assets/80620147-aafc-4d9d-a8ee-e2149f7c8f3b

---------

Co-authored-by: IceSentry <IceSentry@users.noreply.github.com>
2025-02-10 22:38:13 +00:00
..
build_indirect_params.wgsl Upgrade to wgpu v24 (#17542) 2025-02-09 19:40:53 +00:00
clustered_forward.wgsl Implement basic clustered decal projectors. (#17315) 2025-01-26 20:13:39 +00:00
fog.rs Weak handle migration (#17695) 2025-02-05 22:44:20 +00:00
fog.wgsl update shader imports (#10180) 2023-10-21 11:51:58 +00:00
forward_io.wgsl Add UV channel selection to StandardMaterial (#13200) 2024-05-13 18:23:09 +00:00
gpu_preprocess.rs Upgrade to wgpu v24 (#17542) 2025-02-09 19:40:53 +00:00
light.rs Upgrade to wgpu v24 (#17542) 2025-02-09 19:40:53 +00:00
mesh_bindings.rs Allow clippy::too_many_arguments to lint without warnings (#17249) 2025-01-09 07:26:15 +00:00
mesh_bindings.wgsl Fix meshlet shaders for bindless mode. (#16825) 2024-12-24 02:39:18 +00:00
mesh_functions.wgsl Add user supplied mesh tag (#17648) 2025-02-10 22:38:13 +00:00
mesh_preprocess.wgsl Add user supplied mesh tag (#17648) 2025-02-10 22:38:13 +00:00
mesh_types.wgsl Add user supplied mesh tag (#17648) 2025-02-10 22:38:13 +00:00
mesh_view_bindings.rs Implement basic clustered decal projectors. (#17315) 2025-01-26 20:13:39 +00:00
mesh_view_bindings.wgsl Implement basic clustered decal projectors. (#17315) 2025-01-26 20:13:39 +00:00
mesh_view_types.wgsl Implement basic clustered decal projectors. (#17315) 2025-01-26 20:13:39 +00:00
mesh.rs Add user supplied mesh tag (#17648) 2025-02-10 22:38:13 +00:00
mesh.wgsl Batch skinned meshes on platforms where storage buffers are available. (#16599) 2024-12-10 17:50:03 +00:00
mod.rs Batch skinned meshes on platforms where storage buffers are available. (#16599) 2024-12-10 17:50:03 +00:00
morph.rs Type safe retained render world (#15756) 2024-10-10 18:47:04 +00:00
morph.wgsl Implement motion vectors and TAA for skinned meshes and meshes with morph targets. (#13572) 2024-05-31 17:02:28 +00:00
occlusion_culling.wgsl Implement experimental GPU two-phase occlusion culling for the standard 3D mesh pipeline. (#17413) 2025-01-27 05:02:46 +00:00
parallax_mapping.wgsl Fix meshlet shaders for bindless mode. (#16825) 2024-12-24 02:39:18 +00:00
pbr_ambient.wgsl Use “specular occlusion” term to consistently extinguish fresnel on Ambient and Environment Map lights (#10182) 2023-10-23 03:26:20 +00:00
pbr_bindings.wgsl Add support for specular tints and maps per the KHR_materials_specular glTF extension. (#14069) 2025-01-26 20:38:46 +00:00
pbr_fragment.wgsl Fix meshlets when bindless disabled. (#17770) 2025-02-10 09:46:10 +00:00
pbr_functions.wgsl Add support for specular tints and maps per the KHR_materials_specular glTF extension. (#14069) 2025-01-26 20:38:46 +00:00
pbr_lighting.wgsl Introduce support for mixed lighting by allowing lights to opt out of contributing diffuse light to lightmapped objects. (#16761) 2024-12-16 23:48:33 +00:00
pbr_prepass_functions.wgsl Implement bindless lightmaps. (#16653) 2024-12-16 23:37:06 +00:00
pbr_prepass.wgsl Update the prepass for the bindless lightmap changes. (#16855) 2024-12-17 19:21:12 +00:00
pbr_transmission.wgsl Update typos (#17126) 2025-01-03 17:44:26 +00:00
pbr_types.wgsl Add support for specular tints and maps per the KHR_materials_specular glTF extension. (#14069) 2025-01-26 20:38:46 +00:00
pbr.wgsl Implement basic clustered decal projectors. (#17315) 2025-01-26 20:13:39 +00:00
reset_indirect_batch_sets.wgsl Implement experimental GPU two-phase occlusion culling for the standard 3D mesh pipeline. (#17413) 2025-01-27 05:02:46 +00:00
rgb9e5.wgsl Deferred Renderer (#9258) 2023-10-12 22:10:38 +00:00
shadow_sampling.wgsl Upgrade to wgpu v24 (#17542) 2025-02-09 19:40:53 +00:00
shadows.wgsl Implement percentage-closer soft shadows (PCSS). (#13497) 2024-09-18 18:07:17 +00:00
skin.rs Batch skinned meshes on platforms where storage buffers are available. (#16599) 2024-12-10 17:50:03 +00:00
skinning.wgsl Batch skinned meshes on platforms where storage buffers are available. (#16599) 2024-12-10 17:50:03 +00:00
utils.wgsl Per-meshlet compressed vertex data (#15643) 2024-10-08 18:42:55 +00:00
view_transformations.wgsl Implement experimental GPU two-phase occlusion culling for the standard 3D mesh pipeline. (#17413) 2025-01-27 05:02:46 +00:00
wireframe.wgsl Swap material and mesh bind groups (#10485) 2023-11-28 22:26:22 +00:00