struct Uniforms { x: f32, y: f32, radius: f32, r: f32, g: f32, b: f32 }; @group(0) @binding(0) var uniforms: Uniforms; @group(0) @binding(1) var tex: texture_storage_2d; @compute @workgroup_size(1) fn main(@builtin(global_invocation_id) global_id: vec3) { let coords = vec2(global_id.xy); if distance(vec2(coords), vec2(uniforms.x, uniforms.y)) < uniforms.radius { textureStore(tex, coords.xy, vec4(vec3(uniforms.r, uniforms.g, uniforms.b), 1.0)); } }