This thesis presents an algorithm that allows real-time stylized display of fluids. Out of the numerous non-photorealistic rendering methods, we focus on hatching in our work. In hatching we use screen space hatch strokes the give the viewer cues about the features of the fluid surface and its motion. One of the challenges is to produce an image with the length, width, and density of these strokes as dictated by the artistic style. Another difficulty lies in the management of these features during animation, while maintaining temporal coherence. Failure to do so leads to flickering hatch strokes.
The fluid surface is defined using metaballs, a common method in fluid surface representation. This technique uses the sum of radial basis functions centered around fluid atoms to define an implicit field function. The fluid surface is the isosurface at a given level value of this field function. The most common methods for metaball visualization involve the complete reconstruction of the isosurface, which is too costly for real-time applications. In order to avoid this we trace random seed points on the surface.
Seed points are potential candidates for hatch strokes. We move them along with the fluid atoms, while constraining them onto the fluid surface. We extrude hatch strokes from seed points along the principal curvatures of the surface. Stroke opacity is weighed according to multiple factors including proximity to the fluid surface and visibility.
Determining which seeds are visible and excluding those from rendering that are not is yet another challenge. We propose a solution for this problem, using the idea of Variance Shadow Map. A similar method is proposed as well for controlling hatching density as well.