First, define your definition of 'looks right' (has screenshot)?
The main issue is that shingles do not naturally warp inwards like that.
You need to play with your UV coordinates such that either:
Your bottom UV coordinates form at straight line with the top ones:
You make the UV parellel eg:
Right now you have the UV like a trapezoid because you have a 1 to 1 mapping with your texture, so the shingles will warp of course.
If we imagine your cords are currently:
Then you want to solve for the UV coord that forms a right triangle with your trapezoid.