Lava

Star Best Paper Award of

Computer Graphics International 2016

Dynamic Lapped Texture for Fluid Simulations

Jonathan Gagnon, François Dagenais, and Eric Paquette,
The Visual Computer, Volume 32, Number 6, pp 901–909, 2016.

Abstract

We present a new approach for texturing fluids. Particle trackers are scattered on the surface of the fluid, and used to track deformations and topological changes. For every frame of the animation, the trackers are advected and rotated coherently with the flow of the fluid. Receiver polygons are identified on the fluid surface and are used to transfer uv coordinates, while ensuring a controllable amount of texture distortion. The density of the trackers is adjusted when constructing a texture atlas used for rendering. Trackers that remain unused when filling the atlas are safely removed, while texels of the atlas without any corresponding tracker identify areas where new trackers will be added. Together with our patch layering approach, this tracker creation and removal process reduces popping artifacts. Both the input (fluid surface mesh and velocity field) and the output (texture atlas) of our approach make it easy to integrate into a typical production pipeline. We tested our approach on several types of fluid simulation scenarios, including splashes, rotational flows, and viscous fluids. The resulting animations of textured fluids are free from temporal artifacts and popping, and show a limited amount of distortion, blurring, and discontinuity.

Keywords

Fluid Animation, Texture Synthesis

BibTeX entry

@Article{Gagnon:2016:TVC,
  author =       "Jonathan Gagnon and Fran{\c{c}}ois Dagenais and Eric Paquette",
  title =        "Dynamic Lapped Texture for Fluid Simulations",
  journal = {The Visual Computer},
publisher = {Springer Berlin / Heidelberg},
pages = {accepted for publication},
volume = {32},
issue = {6-8},
year = {2016}, }

Online version

Official published paper.

Pre-print version of the paper.

Additional material

Slides from our presentation.

Video demonstrating the results: