surfacePosition in the original shader has the origin at the middle of the screen with positive y-axis up. UV coordinates have it at the top left corner, positive y down. To center the effect change the second line to:
vec2 surfacePosition = vec2(UV.x - 0.5, 0.5 - UV.y);