Roofs can be textured with the Scales generator. It renders a seamless pattern of shingles with variable curvature.

This curvature is regulated by the Amplify value. Image 1 was rendered with a value of 50, while Image 2 was done by setting the attribute to 25.

The Tiling values manipulate the number of shingles in the pattern. By setting them to 1x1, you receive a pattern with one shingle in horizontal and two shingles vertical direction.

Control the gaps width between the shingles with the Object Radius parameter.