I think I found a solution for you:
First create a plane and deform it a bit; that will be the snow surface. Then create a camera (camera1) and a light.
Now open the Hypershade and create a Blinn node with the following attributes:
- Color to White
- Ambient Color to a dark blue (remember the snow is blue in the shadow)
- Diffuse 0.9
- a fine and slight rock texture as bump map (Bump Depth 0.03)
- Eccentricity 0.5
- Specular Color to White
Create a 2D fractal node (fractal1) with these attribs:
- Threshold 0.85, Ratio 1
- Level Min 10 Max 15
- Animated ON
- Invert ON (in Effects)
Connect the fractal's output to the Specular rolloff of the Blinn node.
Open the Expression Editor, create a new expression named 'glitter' and enter this (make sure the names match):
fractal1.time = (camera1.translateX + camera1.translateY + camera1.translateZ)/3;
Now everytime the camera changes its position the Time attribute of the fractal texture will change. The Time attribute randomizes the fractal texture.
I divided by 3 to make an average of the position of the camera, but feel free to put a lower/higher value if the glitter is too fast/slow. Now assign the snow shader to the surface.
I didn't make any animation test so maybe you'll have to tune it a bit. But the concept is there.
You could have put another texture instead of the fractal (a 3D texture for example), but make sure it has a Time or Phase-like attribute that can be keyable.
Have fun,
Inti