Snapshot before the Python POC is removed. The POC (main.py, effects.py, panel.py, shaders.py, effects/*.glsl, flake.nix) is the reference for the native app under native/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
13 lines
583 B
Metal
13 lines
583 B
Metal
// 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);
|
|
}
|