summaryrefslogtreecommitdiff
path: root/workspaces/main/shaders/ellipse.wgsl
blob: a377507dcd1dc34209eb7eedb0fed9b2af4ea421 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
#include "common_uniforms"
#include "render/fullscreen_vs"
#include "math/sdf_shapes"

@group(0) @binding(0) var<uniform> uniforms: CommonUniforms;

@fragment fn fs_main(@builtin(position) p: vec4f) -> @location(0) vec4f {
    let uv = (p.xy / uniforms.resolution - 0.5) * 2.0;
    let movement = vec2f(sin(uniforms.time * 0.7), cos(uniforms.time * 0.5));
    let d = sdEllipse((uv * vec2f(uniforms.aspect_ratio, 1.0)) - movement, vec2f(0.5, 0.3) * (1.0 + uniforms.beat_phase * 0.2));
    return mix(vec4f(0.2, 0.8, 0.4, 1.0), vec4f(0.0), smoothstep(0.0, 0.01, d));
}