Realtime snow with vfx, but not only vfx

Half a year making snow. Wanted to make it better than in most indie games, where snow is just triangles pressed into the ground. For this I studied many AAA implementations and made my own. Visually the snow uses smoothing, a Lagrangian particle system to transfer snow, mist clouds as VFX, opaque triangles as snow particles. Technically it has a lot of interesting stuff and I tried to describe it in a YouTube video:
https://youtu.be/pfaewyfFrKM

I have a short demonstration video, but this format isn’t accepted here, so I’m only sharing images.





A bit about how it technically works:
Unity URP shader, fully written in HLSL+ShaderLab. It uses tessellation, handles light and normals, a glitter effect, and displaces vertices according to the provided mask. That’s what’s under the hood, and on the surface there’s a CPU script that calls ComputeShaders for the GPU pipeline and the JobSystem (Multithreading) for the CPU pipeline. Both pipelines duplicate the algorithms mathematically, but in different languages: C#/HLSL. In those algorithms: sphere handling, smoothing. VFX.

1 Like