I managed to map your example image onto proportional sized sections of three of your roof surfaces using PreviewMat (Custom Preview Materials) from the human plugin, as suggested in this thread:
That plugin is apparently not supported in R8 so had to save your Rhino model as R7 to do it.
Creating the gradient mesh from scratch looks quite complex so far.