Rendering of Water Drops in Real-Time



In this paper we present a method for simulating physical behaviour and rendering of water drops in real-time. Our algorithm is based on processing water information stored into a texture resembling a height map. Thus calculation on the Graphics Processing Unit is possible. Texels on the height map retrieve how much of their current water amount remains and how much water is provided from texels above. The height map is smoothed with a blur filter before a normal map is created to perform lighting with a Fresnel-model.


Water with its many different forms of appearance demands different approaches for simulation. While rendering of water and other weather phenomena becomes increasingly realistic, there is still need for realistic water drops because small amounts of water behave strongly different to large ones. This can be ascribed to the physical forces of surface tension and viscosity. As the amount of water decreases, the impact of surface tension increases and results in the emergence of drops. These characteristics need to be reproduced by a simulation of water drops.

To find the crucial properties of water drops to create a credible simulation, a look at real drops has to be taken.Observing drops running down a surface, randomness seems to guide their movements on most occasions. But given a closer look many physical influences may be revealed.

The aim of our work is to introduce a new approach for realistic simulation of water drops in real-time. Moreover the implementation is done on the Graphics Processing Unit (GPU). The drops are limited to running down on a flat surface. Nevertheless the presented algorithm is extendible for application on arbitrary surfaces. Our goal was to create a credible simulation - not a physically correct one. We present an approach for application in realtime that may be extended in various ways.

In the second section we describe the related work. In section 3 the method to store water is discussed. Afterwards the algorithm and its implementation are introduced (section 4 and 5) followed by a presentation of its results (section 6). The last section summarizes our approach and future work.


Download the full paper:


The pipeline of the algorithm.

Water drops on a glass surface (dragon model in background).

Water drops on a mirror surface.

Drops may run downwards but may not run off the surface.

Water drops on glass.

Water drops on a mirror.

Water drops on glass.

Water drops on glass.

A picture of real drops for comparison.

(c) Ines Stuppacher, Peter Supan