// Liquid trails: the previous output is dragged along the motion, swirled a little, // and slowly fades back to the live picture. // order 45 // slider persistence 0.0 0.99 0.92 // slider drag 0.0 6.0 2.5 // slider swirl 0.0 0.01 0.002 float4 effect(float2 uv, Inputs in) { float2 centred = uv - 0.5; float2 from = uv - in.flow.sample(in.smp, uv).xy * in.p.drag + float2(-centred.y, centred.x) * in.p.swirl; float3 trail = in.prev.sample(in.smp, from).rgb; float3 live = in.image.sample(in.smp, uv).rgb; return float4(mix(live, trail, in.p.persistence), 1.0); }