The winter in the Netherlands was wet and warm with no snow to build a snow man, so we decided to implement our own snow system in our engine.
Basically what we did was use the deferred render normal and depth buffer to determine the normal and the 3D position of a pixel on the screen. Than with a little bit of dot product we created snow that will lay on the top of every object rendered with deferred shading.
Here is a movie of the completed effect.
As seen in the movie, the snow only lies on the up-facing sides of the tree branches.