1#import bevy_sprite::mesh2d_functions::{ 3 mesh2d_position_local_to_clip, 5#import noisy_bevy::worley_2d 12@group(2) @binding(0) var<uniform> material: NoiseMaterial; 15 @builtin(instance_index) instance_index: u32, 16 @location(0) position: vec3<f32>, 17 @location(1) blend_color: vec4<f32>, 21 @builtin(position) clip_position: vec4<f32>, 22 @location(0) object_position: vec2<f32>, 26fn vertex(vertex: VertexInput) -> VertexOutput { 27 var out: VertexOutput; 29 let model = get_world_from_local(vertex.instance_index); 30 out.clip_position = mesh2d_position_local_to_clip(model, vec4<f32>(vertex.position, 1.0)); 31 out.object_position = vertex.position.xy; 38) -> @location(0) vec4<f32> { 39 let position = in.object_position * material.frequency_scale; 41 let worley = worley_2d(position, jitter) * material.amplitude_scale; 43 let distance = worley.x; 45 return vec4(distance, distance, distance, 1.);