Avoiding texture repetition on large surfaces

I am going for a an oldschool retro look with my game, one aspect of which means using a single low resolution texture covering very large areas like the wall of a factory, a mountain, or a beach.

Pretty much all texture sources that are available are meant to depict an area of about 1x1 meter, and when you put these on a large wall, small shadows and discolorations will repeat dozens or hundreds of times, creating a very ugly repeating pattern.

What I want to do is to instead of using 128x128 textures to cover a 2x2 meter area, to make 1024x1024 textures to cover 32x32 meter areas. With just 64 pixels per meter, using textures that cover such huge areas are not a problem.

Now the problem is that nobody made source photos of 32x32 meter, or even 8x8 meter pieces of flat concrete, sand, grass, rock faces, and so on. (Though I guess if you had a camera drone, it now would be possible.) After a lengthy struggle, I figured out s somewhat satisfactory way to break up the patter with Blender shaders, but then found out that those don’t import into Godot. And attempts to something similar in Gimp were even more miserable.

Is there any good way to turn a 1x1 meter image of ground into a 16x16 or 32x32 meter area without visible pattern repetition for use in Godot? I would prefer to do it all inside a plain .png image, but if there is a resource friendly way to do it with shaders or other means inside of Godot I would also very much like to hear and see how it’s done

I’d just use a flat color with some low frequency noise and crossfade this with high the 1 meter texture using camera distance as a mixing factor.

Something like Procedural Terrain Texture Blending Shader - Godot Shaders ? I’m sure there are others, this is just the first I found.

I’ve also seen Unreal Engine and Blender tuts for approaches to breaking up visually repeating patterns–you could get ideas for what to implement in Godot from those.