Sparkling Snow - using microdisplacements

Been experimenting - trying to get a nice sparkling snow effect.

Came up with this. It still needs some work - but it gives a pretty nice effect I think (note this uses the new smoothed mortar brick texture and microdisplacements - so you’ll need to download one of the latest daily builds in order to replicate it).

Also - if you are worried about the negative values plugged into the bottom glossy node - that is intentional. It forces the glossy highlights to fall off quicker than normal, so you only get the sharp sparkles - and dont reflect the environment too much (note the RGB values in the other glossy node are 5, 5, 5 - this gives bright sparkles when they catch the light). If you want to see other applications of this “glossy subtraction” technique - see my other thread here:

edit: Secrop - this is what I was aiming to achieve when I enquired about adding gradients to the Voronoi cells a few months back. I had hoped to have each cell with a gradient so that when displaced - it in essence creating a sloped face with a random direction - this would add a random sparkle in much the way that snow crystals do. The method above kinda gets close using the smooth mortar as the gradient.

Nice result! :smiley:
what is the color value of your top glossy?

I’ve to test this with a new build… Still using 2.78a, but if I can imagine the result, those voronois connected to the brick texture may be an interesting pattern. Must study what’s happening there :slight_smile: !!

RGB 5,5,5 - the sparkles arent bright enough if I leave the values at 1, but boosting them this high makes the body of the snowball too bright and reflective.

That’s why I had to use the negative glossy subtraction trick - to suppress these unwanted reflections and boost only the highlights.

That material looks excellent mate. Well done and thanks for sharing.


I have tried to replicate it but mine looks so different and ugly. Tried changing the initial scale but never near what you got.

Can you post your result and node setup.

Have you UV unwrapped your sphere? My sphere is 1.75 blender units in size and I have used a HDRI environment to light it.

@moony, I checked the resulted texture for the displacement, and I found out that it’s very anisotropic, quite like the ‘Manhattan F1’ from the voronoi… there should be another way to do this with more realistic result (thought I haven’t figured what method could be the best). The F2-F1 would remove the anisotropy, but still not a very good texture for snow.

Another thing I’ve noticed (apart from the need of extra samples to remove the positive+negative resulting noise), is the fact that the highlights aren’t very compatible with a realistic light scene. In a simple scene, like the one you show, it looks good. But as soon as you include this in a good lighted scene with other objects and materials, it becomes very unmanageable to have a good result overall. :frowning:

Again, there’s probably a better way to represent the micro refractions/reflections of the snow cristals, without hacking that much the normal light behaviour of the shaders…
Sadly, I’ve travelled far south this winter, and I don’t have snow here to make any experiments and measures…

Sure here are both the shots nodes and render. The Sphere is unwrapped and size seems to be pretty close to yours. I have also applied transforms just in case. Maybe I am not seeing something.

Yeah, that’s pretty much the result I got, but I thought it was just me not having the smooth option on the brick. I don’t think “negative glossy” is compatible with my system :smiley:

Couple of things to check.

Your top glossy node - is this set to 5,5,5 (to counter the -5, -5, -5 of the bottom glossy).

How many bounces have you got enabled on the render panel?

What is your adaptive subdivision dicing parameter set to (I think I used 0.2 for this image). Also - make sure your bump parameter in the cycles material is set to True (not Bump or Both).

I have been experimenting for ages trying different techniques to get a good glitter effect. I have tried using bump maps, normal maps, hair systems, particle systems etc.

This is probably the closest I have got so far - but as you say, the texture I have used probably isnt ideal. If I could have got a random gradient into the Voronoi cell pattern - this may have worked - but unfortunately your solution seems incompatible with displacement.

Thanks for that info. It seems the Glossy set to 5,5,5 fixed the blackened areas.

I was using limited global illumination. 8 Max bounces and 3 Min.

If using 0.2 my GPU won’t render. Using CPU for those settings the rendering times must go up like crazy. Not sure if that’s worthy.

What’s your global subdivision rate? I now left it as is being 1 px for render 8 for preview.

Did some experiments, but not extensivelly…
I’m quite satisfied with the normal directions, thought there’s more room to improve the shape for each ‘flake’. Again, I don’t have snow around me to observe, so it’s a bit more difficult to set good values for reflected/transmited/absorbed light. Also, there are lot’s of different types of snow, so I don’t think just one shader group could address all of them…

(Right now it looks a bit more like sugar/salt, but I suspect that’s because of the distributions I’ve used.)

1 Like

That’s looking pretty good. If the snow its going to be as a background object and not as the main one with close up I think is good enough. How is the rendering time? The other method can be pretty slow.

it’s as slow as the subsurface scattering… take the sss out, and it’s pretty fast.

Wow, nice result. Looks like I got a new material for rendering meth now.