1#import bevy_pbr::forward_io::VertexOutput 2#import bevy_pbr::mesh_bindings::mesh 3#import bevy_render::bindless::{bindless_samplers_filtering, bindless_textures_2d} 11struct MaterialBindings { 14 color_texture_sampler: u32, 18@group(2) @binding(0) var<storage> materials: array<MaterialBindings>; 19@group(2) @binding(10) var<storage> material_color: binding_array<Color>; 21@group(2) @binding(0) var<uniform> material_color: Color; 22@group(2) @binding(1) var material_color_texture: texture_2d<f32>; 23@group(2) @binding(2) var material_color_sampler: sampler; 27fn fragment(in: VertexOutput) -> @location(0) vec4<f32> { 29 let slot = mesh[in.instance_index].material_and_lightmap_bind_group_slot & 0xffffu; 30 let base_color = material_color[materials[slot].material].base_color; 32 let base_color = material_color.base_color; 35 return base_color * textureSampleLevel( 37 bindless_textures_2d[materials[slot].color_texture], 38 bindless_samplers_filtering[materials[slot].color_texture_sampler], 40 material_color_texture, 41 material_color_sampler,