// float pixel_size = length(iResolution.xy)/PIXEL_SIZE_FAC;
      float pixel_size = 1.0;
      vec2 uv = (floor(gl_FragCoord.xy*(1./pixel_size))*pixel_size - 0.5*iResolution.xy)/length(iResolution.xy) - vec2(0.12, 0.);
      
      float uv_len = length(uv);
      
      float speed = (spin_time*SPIN_EASE*0.2) + 302.2;
      float new_pixel_angle = (atan(uv.y, uv.x)) + speed - SPIN_EASE*20.*(1.*spin_amount*uv_len + (1. - 1.*spin_amount));
      
      vec2 mid = vec2(0.5, 0.5);
      uv = (vec2((uv_len * 