The ThingsOnSurface Shader places many many small instances of a brush on the texture. A brief description of its parameters follows.
Brush:
Here you put a shader or bitmap which is the "brush" that is distributed over the texture. Alpha channels are passed through.
Mask:
Serves as alpha channel if the brush has none.
Brush Format:
You must set the width/height ratio of the brush manually in this field.
BlendMode and Strength:
Determine how brush instances are blended over each other.
Brush Size and Variation:
Control mean brushes average size and deviation in uv texture space
Size Map:
Controls brush size by a shader or bitmap.
Density:
Density of the brushes on the textures. The shader divides the texture space into a uniform rectangular grid and the density parameter actually determines the mean number of brush instances generated per grid cell. It can also be controlled by a shader or bitmap.
Note that the shader also generates an own alpha channel, so you can easily stack it on top of other shaders in the layers shader for example.