geodesic-wallpaper 1.6.1

Animated Windows desktop wallpaper that draws glowing geodesics flowing over curved 3D surfaces (torus, Klein bottle, pseudosphere and more), rendered with wgpu. Also renders PNGs and GIFs headless.
struct Uniforms {
    view_proj: mat4x4<f32>,
    light_dir: vec4<f32>,
    time: f32,
    // Three scalars, not vec3: a vec3 would align to 16 bytes and make the
    // struct 112 bytes, while the Rust `Uniforms` is 96.
    _pad0: f32,
    _pad1: f32,
    _pad2: f32,
}

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

struct VertexInput {
    @location(0) position: vec3<f32>,
    @location(1) color: vec4<f32>,
}

struct VertexOutput {
    @builtin(position) clip_position: vec4<f32>,
    @location(0) color: vec4<f32>,
}

@vertex
fn vs_main(in: VertexInput) -> VertexOutput {
    var out: VertexOutput;
    out.clip_position = uniforms.view_proj * vec4<f32>(in.position, 1.0);
    out.color = in.color;
    return out;
}

@fragment
fn fs_main(in: VertexOutput) -> @location(0) vec4<f32> {
    // Additive-style glow: boost brightness at high alpha
    let c = in.color;
    let glow = c.rgb * (0.6 + 0.4 * c.a);
    return vec4<f32>(glow, c.a);
}