Frame from a real-time animation. The simulation covers a huge area with hundreds of floating objects, but can still include tiny details visible only at close range. Credit: Stefan Jeschke When designers select a method for simulating water and waves, they have to choose either fast computation or realistic effects; state-of-the-art methods are only able to optimize one or the other. Now, a method developed by researchers at the Institute of Science and Technology Austria (IST Austria) and NVIDIA bridges this gap. Their simulation method can reproduce complex interactions with the environment and tiny details over huge areas—all in real time. Moreover, the basic construction of the method allows graphics designers to easily create artistic effects. The authors will present their work at the annual top conference for computer graphics: SIGGRAPH 2018, where IST Austria researchers are presenting a total of five different projects.
Current water wave simulations are based on one of two available methods. Fourier-based methods are efficient, but cannot model complicated interactions such as water hitting shore of an island. Numerical methods, on the other hand, can simulate a wide range of such effects, but are much more expensive computationally. As a result, "scenes with details at the level of tiny waves and with environmental interactions at the level of kilometer-long islands were either impossible or completely impractical," says Chris Wojtan, professor at IST Austria. "Our method makes that breadth of scale and range possible, in real time." The team behind the new method comprises Tomáš Skřivan of IST Austria, as well as Stefan Jeschke, Matthias Müller-Fischer, Nuttapong Chentanez, and Miles Macklin of NVIDIA, in addition to Wojtan.
Achieving all of this required ingenuity, as well as a deep understanding of the basic physics involved. "We encoded the waves with different physical parameters than people previously used," explains Wojtan. "Essentially, this gave us values that changed much more slowly, which is what allowed us to simulate small details at very large resolution." These details make possible a variety of effects that were previously unattainable or extremely expensive computationally, such as objects landing realistically in water (or even thousands of objects landing simultaneously), or water reflecting off the sides of a moving boat.
Jeschke, first author and former IST Austria postdoc, emphasizes the possible applications in creating detailed and artistic simulations, for instance for games, films or virtual reality programs. "The combination of range, detail, and computational speed represents a big step forward for the industry," he says. "Plus, because of how we encode our simulation, it is easy to manipulate it and model water flow in varying environments like rivers or oceans. Our method allows artists to easily 'overwrite' nature, and create scenes faster than ever before." The team has already designed one such tool: the "wave-painter" works like the paintbrush in a drawing program, increasing the height of the waves as the artist "draws" on a particular area. The wave-painter can also be adapted to create waves flowing in a particular direction as seen in rivers, for example.
More information: Stefan Jeschke et al, Water surface wavelets, ACM Transactions on Graphics (2018). DOI: 10.1145/3197517.3201336