Up your game.
This one uses a new filter that I’m testing:
#@gui Shifter : fx_shifter, fx_shifter_preview(1)
#@gui : Recompute = button(0)
#@gui : X Amplitude = float(1,0,10)
#@gui : X Iterations = int(20,0,400)
#@gui : Y Amplitude = float(1,0,10)
#@gui : Y Iterations = int(20,0,400)
#@gui : Matrix Warp Multiplier = float(1,0,5)
#@gui : Matrix Boundary = choice(5,"Random","Random [non-transparent]","Transparent","Nearest","Periodic", "Mirror")
#@gui : Warp Boundary = choice(5,"Random","Random [non-transparent]","Transparent","Nearest","Periodic", "Mirror")
fx_shifter:
repeat $! l[$>]
100%,100%,1,3 [1] fc[1,2] 0
rectexture[1] 0,$3,0,$6,$7,2,0
rectexture[2] 0,$5,0,$6,$7,2,0
to_gray[^0]
f[1] "$2*510*(0.25-abs(0.5-i/255))"
f[2] "$4*510*(0.25-abs(0.5-i/255))"
a[^0] c
if {$8==0}
f={u(0,3)}
elif {$8==1}
f={u(0,2)+1}
else
f={($8)-2}
fi
warp.. .,1,0,{int($f)}
rm.
endl done
fx_shifter_preview:
fx_shifter $*