mirror of
https://github.com/bevyengine/bevy
synced 2024-12-20 18:13:10 +00:00
a47b91cccc
# Objective - Standard Material is starting to run out of samplers (currently uses 13 with no additional features off, I think in 0.13 it was 12). - This change adds a new feature switch, modelled on the other ones which add features to Standard Material, to turn off the new anisotropy feature by default. ## Solution - feature + texture define ## Testing - Anisotropy example still works fine - Other samples work fine - Standard Material now takes 12 samplers by default on my Mac instead of 13 ## Migration Guide - Add feature pbr_anisotropy_texture if you are using that texture in any standard materials. --------- Co-authored-by: John Payne <20407779+johngpayne@users.noreply.github.com>
37 lines
1.9 KiB
WebGPU Shading Language
37 lines
1.9 KiB
WebGPU Shading Language
#define_import_path bevy_pbr::pbr_bindings
|
|
|
|
#import bevy_pbr::pbr_types::StandardMaterial
|
|
|
|
@group(2) @binding(0) var<uniform> material: StandardMaterial;
|
|
@group(2) @binding(1) var base_color_texture: texture_2d<f32>;
|
|
@group(2) @binding(2) var base_color_sampler: sampler;
|
|
@group(2) @binding(3) var emissive_texture: texture_2d<f32>;
|
|
@group(2) @binding(4) var emissive_sampler: sampler;
|
|
@group(2) @binding(5) var metallic_roughness_texture: texture_2d<f32>;
|
|
@group(2) @binding(6) var metallic_roughness_sampler: sampler;
|
|
@group(2) @binding(7) var occlusion_texture: texture_2d<f32>;
|
|
@group(2) @binding(8) var occlusion_sampler: sampler;
|
|
@group(2) @binding(9) var normal_map_texture: texture_2d<f32>;
|
|
@group(2) @binding(10) var normal_map_sampler: sampler;
|
|
@group(2) @binding(11) var depth_map_texture: texture_2d<f32>;
|
|
@group(2) @binding(12) var depth_map_sampler: sampler;
|
|
#ifdef PBR_ANISOTROPY_TEXTURE_SUPPORTED
|
|
@group(2) @binding(13) var anisotropy_texture: texture_2d<f32>;
|
|
@group(2) @binding(14) var anisotropy_sampler: sampler;
|
|
#endif
|
|
#ifdef PBR_TRANSMISSION_TEXTURES_SUPPORTED
|
|
@group(2) @binding(15) var specular_transmission_texture: texture_2d<f32>;
|
|
@group(2) @binding(16) var specular_transmission_sampler: sampler;
|
|
@group(2) @binding(17) var thickness_texture: texture_2d<f32>;
|
|
@group(2) @binding(18) var thickness_sampler: sampler;
|
|
@group(2) @binding(19) var diffuse_transmission_texture: texture_2d<f32>;
|
|
@group(2) @binding(20) var diffuse_transmission_sampler: sampler;
|
|
#endif
|
|
#ifdef PBR_MULTI_LAYER_MATERIAL_TEXTURES_SUPPORTED
|
|
@group(2) @binding(21) var clearcoat_texture: texture_2d<f32>;
|
|
@group(2) @binding(22) var clearcoat_sampler: sampler;
|
|
@group(2) @binding(23) var clearcoat_roughness_texture: texture_2d<f32>;
|
|
@group(2) @binding(24) var clearcoat_roughness_sampler: sampler;
|
|
@group(2) @binding(25) var clearcoat_normal_texture: texture_2d<f32>;
|
|
@group(2) @binding(26) var clearcoat_normal_sampler: sampler;
|
|
#endif
|