1#import bevy_enoki::particle_vertex_out::{ VertexOutput } 3@group(1) @binding(0) var texture: texture_2d<f32>; 4@group(1) @binding(1) var texture_sampler: sampler; 8fn fragment(in: VertexOutput) -> @location(0) vec4<f32> { 13 let r_uv = ( in.uv + vec2(0.1,0.) * in.lifetime_frac * speed ) % 1.; 14 let b_uv = ( in.uv + vec2(0.5,0.1) * in.lifetime_frac * speed) % 1.; 15 let g_uv = ( in.uv + vec2(0.2,-0.1) * in.lifetime_frac * speed) % 1.; 17 let r = textureSample(texture, texture_sampler, r_uv).r * 2.; 18 let b = textureSample(texture, texture_sampler, b_uv).b * 2.; 19 let g = textureSample(texture, texture_sampler, g_uv).g * 2.; 21 let dist_center = distance(in.uv, vec2(0.5)); 22 let energy = (r + b + g) / 3.; 24 let fade_out = 1. - dist_center * 2.; 26 smoothstep(dist_center, dist_center + 0.4, 0.4) 27 * smoothstep(energy,energy + 0.2,.3)