Now with 2.79 released and 2.8 on the way, have any new features been added to allow for creating a material in cycles, and then "painting" it over the pre-existing material on an object? Material overlays are easily achieved but not actually painting it on to the object wherever you like. Is there a way to define where a material is overlayed on an object or to directly paint it on? Basically, can i achieve this with "painting" in blender (i.e. the base material being the yellow paint and the rust being painted on into the crevices and such):
Here I am using a black image and painting white into it using a brush mask set to rake and random, and that is plugged into the mix factor of the mix shader between a Principled shader and a diffuse shader.
The diffuse is a brown to represent the rust and the principled is only slightly metallic for the outside paint/metal layer. The bump node helps sell the difference between the two shaders, and if you go about painting a color image for the rust and a color for the paint, you can get some really nice effects.
I made some brushes that are on Blendswap for this actual process. To simplify it, you can use the same process but run the texture into a color mix node, using the mix factor to determine the difference between the two color inputs (images) and plug that into a single shader, still using a bump node into the vector of the shader.