Using UE4 I created a dynamic snow material that can be instanced allowing to be used with many different textures. The amount of snow can be altered through a blueprint during gameplay to make it seem as though it has started snowing. To make changing textures easier I used Parameters so that different textures can be swapped in and out from a drop down.
The snow fills up the texture by looking at it in grayscale and placing white where the darkest points are, the "SnowAmount" parameter increases the range of brightness, filling in more and more of the texture. To get the pattern of the texture in the snow Lerping is used as well a normal map.
The snow is also given it's own roughness map which can be Lerped with a textures default roughness map. A metallic value is given to the snow to make it slightly more shiny. Meanwhile, the normal map is offset so that the snow looks as though is growing on-top of the texture as opposed to replacing it.