Real-time Volumetric Clouds Generation and Rendering
Cloud generation
Physically-base generation
The real-time generation of clouds is based on several theoritical physics and meteorologic models: atmospheric model, thermodynamics, fluid dynamics, and the water continuity model of the clouds. The implementation is mainly based on [2] and also adopt a few details from [3]. We can generate the clouds based on the input of heat and vapor emission and a set of control parameters. We can also incorporate the terrain information and real weather information. The implementation on compute shader can achieve real-time performance. The simualtion usually needs to slow down. This allows us to divide the computation into several stages and distribute the whole process into many frames which further improves the performance.
Different Emission Maps

Wind
Since the clouds are physically simulated, we can apply wind force to them.

Cloud rendering
Volumetric clouds is rendered with ray-marching method. [1] mentions a few techniques for performance optimization, such as checkerboard updating and dynamic marching step sizes. Another possible optimization is to use a low-resolution cloud texture and later synthesize it with the scene.
Different types of clouds

Cloud Shadows
Gods Ray
References
[1] Andrew Shneider (Guerrilla Games). Nubis: Authoring Real-Time Volumetric Cloudscapes with the Decima Engine. SIGGRAPH Advances in Real-Time Rendering Course, https://advances.realtimerendering.com/s2017/index.html. 2017.
[2] Torsten H¨adrich et al. “Stormscapes: Simulating Cloud Dynamics in the Now”. ACM Transactions on Graphics (SIGGRAPH Asia 2020), In: vol. 39. Oct. 2020.
[3] Mark J Harris et al. “Simulation of cloud dynamics on graphics hardware”. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware. 2003, pp. 92–101.
