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.