2 mesh2d_functions as mesh_functions, 3 mesh2d_vertex_output::VertexOutput, 4 mesh2d_view_bindings::view, 7#ifdef TONEMAP_IN_SHADER 8#import bevy_core_pipeline::tonemapping 12 @builtin(instance_index) instance_index: u32, 13#ifdef VERTEX_POSITIONS 14 @location(0) position: vec3<f32>, 17 @location(1) normal: vec3<f32>, 20 @location(2) uv: vec2<f32>, 23 @location(3) tangent: vec4<f32>, 26 @location(4) color: vec4<f32>, 31fn vertex(vertex: Vertex) -> VertexOutput { 32 var out: VertexOutput; 37#ifdef VERTEX_POSITIONS 38 var world_from_local = mesh_functions::get_world_from_local(vertex.instance_index); 39 out.world_position = mesh_functions::mesh2d_position_local_to_world( 41 vec4<f32>(vertex.position, 1.0) 43 out.position = mesh_functions::mesh2d_position_world_to_clip(out.world_position); 47 out.world_normal = mesh_functions::mesh2d_normal_local_to_world(vertex.normal, vertex.instance_index); 51 out.world_tangent = mesh_functions::mesh2d_tangent_local_to_world( 58 out.color = vertex.color; 66) -> @location(0) vec4<f32> { 69#ifdef TONEMAP_IN_SHADER 70 color = tonemapping::tone_mapping(color, view.color_grading); 74 return vec4<f32>(1.0, 0.0, 1.0, 1.0);