1import package::render::pbr_types::StandardMaterial; 4struct StandardMaterialBindings { 6 base_color_texture: u32, 7 base_color_sampler: u32, 10 metallic_roughness_texture: u32, 11 metallic_roughness_sampler: u32, 12 occlusion_texture: u32, 13 occlusion_sampler: u32, 14 normal_map_texture: u32, 15 normal_map_sampler: u32, 16 depth_map_texture: u32, 17 depth_map_sampler: u32, 18 anisotropy_texture: u32, 19 anisotropy_sampler: u32, 20 specular_transmission_texture: u32, 21 specular_transmission_sampler: u32, 22 thickness_texture: u32, 23 thickness_sampler: u32, 24 diffuse_transmission_texture: u32, 25 diffuse_transmission_sampler: u32, 26 clearcoat_texture: u32, 27 clearcoat_sampler: u32, 28 clearcoat_roughness_texture: u32, 29 clearcoat_roughness_sampler: u32, 30 clearcoat_normal_texture: u32, 31 clearcoat_normal_sampler: u32, 32 specular_texture: u32, 33 specular_sampler: u32, 34 specular_tint_texture: u32, 35 specular_tint_sampler: u32, 38@group(constants::MATERIAL_BIND_GROUP) @binding(0) var<storage> material_indices: array<StandardMaterialBindings>; 39@group(constants::MATERIAL_BIND_GROUP) @binding(10) var<storage> material_array: array<StandardMaterial>; 42@group(constants::MATERIAL_BIND_GROUP) @binding(0) var<uniform> material: StandardMaterial; 43@group(constants::MATERIAL_BIND_GROUP) @binding(1) var base_color_texture: texture_2d<f32>; 44@group(constants::MATERIAL_BIND_GROUP) @binding(2) var base_color_sampler: sampler; 45@group(constants::MATERIAL_BIND_GROUP) @binding(3) var emissive_texture: texture_2d<f32>; 46@group(constants::MATERIAL_BIND_GROUP) @binding(4) var emissive_sampler: sampler; 47@group(constants::MATERIAL_BIND_GROUP) @binding(5) var metallic_roughness_texture: texture_2d<f32>; 48@group(constants::MATERIAL_BIND_GROUP) @binding(6) var metallic_roughness_sampler: sampler; 49@group(constants::MATERIAL_BIND_GROUP) @binding(7) var occlusion_texture: texture_2d<f32>; 50@group(constants::MATERIAL_BIND_GROUP) @binding(8) var occlusion_sampler: sampler; 51@group(constants::MATERIAL_BIND_GROUP) @binding(9) var normal_map_texture: texture_2d<f32>; 52@group(constants::MATERIAL_BIND_GROUP) @binding(10) var normal_map_sampler: sampler; 53@group(constants::MATERIAL_BIND_GROUP) @binding(11) var depth_map_texture: texture_2d<f32>; 54@group(constants::MATERIAL_BIND_GROUP) @binding(12) var depth_map_sampler: sampler; 55 @if(PBR_ANISOTROPY_TEXTURE_SUPPORTED) { 56 @group(constants::MATERIAL_BIND_GROUP) @binding(13) var anisotropy_texture: texture_2d<f32>; 57 @group(constants::MATERIAL_BIND_GROUP) @binding(14) var anisotropy_sampler: sampler; 60 @if(PBR_TRANSMISSION_TEXTURES_SUPPORTED) { 61 @group(constants::MATERIAL_BIND_GROUP) @binding(15) var specular_transmission_texture: texture_2d<f32>; 62 @group(constants::MATERIAL_BIND_GROUP) @binding(16) var specular_transmission_sampler: sampler; 63 @group(constants::MATERIAL_BIND_GROUP) @binding(17) var thickness_texture: texture_2d<f32>; 64 @group(constants::MATERIAL_BIND_GROUP) @binding(18) var thickness_sampler: sampler; 65 @group(constants::MATERIAL_BIND_GROUP) @binding(19) var diffuse_transmission_texture: texture_2d<f32>; 66 @group(constants::MATERIAL_BIND_GROUP) @binding(20) var diffuse_transmission_sampler: sampler; 69 @if(PBR_MULTI_LAYER_MATERIAL_TEXTURES_SUPPORTED) { 70 @group(constants::MATERIAL_BIND_GROUP) @binding(21) var clearcoat_texture: texture_2d<f32>; 71 @group(constants::MATERIAL_BIND_GROUP) @binding(22) var clearcoat_sampler: sampler; 72 @group(constants::MATERIAL_BIND_GROUP) @binding(23) var clearcoat_roughness_texture: texture_2d<f32>; 73 @group(constants::MATERIAL_BIND_GROUP) @binding(24) var clearcoat_roughness_sampler: sampler; 74 @group(constants::MATERIAL_BIND_GROUP) @binding(25) var clearcoat_normal_texture: texture_2d<f32>; 75 @group(constants::MATERIAL_BIND_GROUP) @binding(26) var clearcoat_normal_sampler: sampler; 78 @if(PBR_SPECULAR_TEXTURES_SUPPORTED) { 79 @group(constants::MATERIAL_BIND_GROUP) @binding(27) var specular_texture: texture_2d<f32>; 80 @group(constants::MATERIAL_BIND_GROUP) @binding(28) var specular_sampler: sampler; 81 @group(constants::MATERIAL_BIND_GROUP) @binding(29) var specular_tint_texture: texture_2d<f32>; 82 @group(constants::MATERIAL_BIND_GROUP) @binding(30) var specular_tint_sampler: sampler;