audioshader/assets/shaders/default.wgsl
Matthew Deville cefcab280c add mouse
2025-08-31 19:22:17 +02:00

19 lines
599 B
WebGPU Shading Language

#import bevy_sprite::mesh2d_vertex_output::VertexOutput
@group(2) @binding(0) var<uniform> u_time: f32;
@group(2) @binding(1) var<uniform> u_resolution: vec2<f32>;
@group(2) @binding(2) var<uniform> u_mouse_position: vec2<f32>;
@fragment
fn fragment(mesh: VertexOutput) -> @location(0) vec4<f32> {
var uv = mesh.uv * 2 - 1;
uv.x = uv.x * (u_resolution.x / u_resolution.y);
let red = vec3<f32>(1, 0, 0);
let blue = vec3<f32>(0, 0, 1.0);
let t = step(0.2 + u_mouse_position.x / u_resolution.x, length(uv));
let color = mix(red, blue, t);
return vec4<f32>(color, 1);
}