#define SPEED_SCALE 20.0
#define AMPLITUDE_SCALE 0.1
#define FREQUENCY_SCALE 120.0

void main(void)
{
  vec2 tc = gl_FragCoord.xy / iResolution.xy;

  vec2 p = -1.0 + 2.0 * tc;
  p.x /= iResolution.y/iResolution.x;

  float len = length(p);

  vec2 uv = tc + (p/len)*cos(len*FREQUENCY_SCALE*iMouse.y/iResolution.y-iGlobalTime*SPEED_SCALE)*AMPLITUDE_SCALE*iMouse.x/iResolution.x;

  gl_FragColor = texture2D(iChannel0, uv);
}