The more roses I plant in my garden the greater the need to ensure that I know which rose is where. I make sure I have a yearly updated map of every plant in every flower bed and rose bed. For the benefit of visitors every rose has got a stone with its name on it. The name painted on the stone has the same color as the rose to make it easy to connect the right name with the right rose. So the red and yellow 'Bicolor' has its name painted in those two colors.
Acrylic paint is good for painting on stones. If the name does not stand out clearly enough from the background it helps to give the letters a dark lining. You can also try to give the stone a suitable background color first. The colors tend to fade over time so be prepared to do some brush up work every few years.
I am blessed with a wife, who takes care of the painting with the occasional help of a daughter-in-law. My job is to find suitable stones. They normally surface as a side product, when I do some digging in the garden. The best stones have a smooth surface. It is not easy to paint on a rugged surface and on top of that the paint normally will not stick. After some trials and errors you quickly learn what stones to put into the pile of presumptive name stones.
Roof tiles become very good name stones. The color sticks well. As such the tiles are too big, but they are not very hard to break into suitable pieces. Painting on a wavy surface may seem quite a challenge at first, though.
When wintering my roses I normally collect the name stones and give them some kind of shelter for the winter. In spring, when it is time to put the stones back in place, the maps of the rose beds are indispensable.