mirror of
https://github.com/bevyengine/bevy
synced 2024-12-21 02:23:08 +00:00
d44e86507f
# Objective - shaders defs can now have a `bool` or `int` value - `#if SHADER_DEF <operator> 3` - ok if `SHADER_DEF` is defined, has the correct type and pass the comparison - `==`, `!=`, `>=`, `>`, `<`, `<=` supported - `#SHADER_DEF` or `#{SHADER_DEF}` - will be replaced by the value in the shader code --- ## Migration Guide - replace `shader_defs.push(String::from("NAME"));` by `shader_defs.push("NAME".into());` - if you used shader def `NO_STORAGE_BUFFERS_SUPPORT`, check how `AVAILABLE_STORAGE_BUFFER_BINDINGS` is now used in Bevy default shaders
45 lines
1.3 KiB
WebGPU Shading Language
45 lines
1.3 KiB
WebGPU Shading Language
#define_import_path bevy_pbr::mesh_view_bindings
|
|
|
|
#import bevy_pbr::mesh_view_types
|
|
|
|
@group(0) @binding(0)
|
|
var<uniform> view: View;
|
|
@group(0) @binding(1)
|
|
var<uniform> lights: Lights;
|
|
#ifdef NO_ARRAY_TEXTURES_SUPPORT
|
|
@group(0) @binding(2)
|
|
var point_shadow_textures: texture_depth_cube;
|
|
#else
|
|
@group(0) @binding(2)
|
|
var point_shadow_textures: texture_depth_cube_array;
|
|
#endif
|
|
@group(0) @binding(3)
|
|
var point_shadow_textures_sampler: sampler_comparison;
|
|
#ifdef NO_ARRAY_TEXTURES_SUPPORT
|
|
@group(0) @binding(4)
|
|
var directional_shadow_textures: texture_depth_2d;
|
|
#else
|
|
@group(0) @binding(4)
|
|
var directional_shadow_textures: texture_depth_2d_array;
|
|
#endif
|
|
@group(0) @binding(5)
|
|
var directional_shadow_textures_sampler: sampler_comparison;
|
|
|
|
#if AVAILABLE_STORAGE_BUFFER_BINDINGS >= 3
|
|
@group(0) @binding(6)
|
|
var<storage> point_lights: PointLights;
|
|
@group(0) @binding(7)
|
|
var<storage> cluster_light_index_lists: ClusterLightIndexLists;
|
|
@group(0) @binding(8)
|
|
var<storage> cluster_offsets_and_counts: ClusterOffsetsAndCounts;
|
|
#else
|
|
@group(0) @binding(6)
|
|
var<uniform> point_lights: PointLights;
|
|
@group(0) @binding(7)
|
|
var<uniform> cluster_light_index_lists: ClusterLightIndexLists;
|
|
@group(0) @binding(8)
|
|
var<uniform> cluster_offsets_and_counts: ClusterOffsetsAndCounts;
|
|
#endif
|
|
|
|
@group(0) @binding(9)
|
|
var<uniform> globals: Globals;
|