precision highp float;

varying highp vec2 textureCoordinate;

uniform sampler2D inputImageTexture;

uniform highp float iTime;

void main() {

    //highp vec2 uv = textureCoordinate;

    // pixel position normalised to [-1, 1]
    highp vec2 cPos = -1.0 + 2.0 * textureCoordinate;

    // distance of current pixel from center
    float cLength = length(cPos);

    highp vec2 uv = textureCoordinate+(cPos/cLength)*cos(cLength*12.0-iTime*4.0) * 0.03;


    highp vec3 col = texture(iChannel0,uv).xyz;

    fragColor = vec4(col,1.0);

}