I post answer for anyone that comes here. Such things should be done by shaders as GPU is a lot faster to do this, either in material for single object or post processing for entire screen. You need get UV map (you use TextureCorridinate node, it is texture sampling position with 2 dimensional coordinates between 0.0 to 1.0, 0.0 being start of texture 1.0 end of texture on each axis) and then alter it whatever you like and then on texture plug in your custom UV map.