LIC (Line Integral Convolution) is a well-known texture
synthesis technique proposed by Cabral and Leedom [33]
at Lawrence Livermore
National Laboratory in ACM
SigGraph 93. It employs a low-pass filter to convolve an input
noise texture along pixel-centered symmetrically bi-directional streamlines
to exploit spatial correlation in the flow direction. LIC provides a global
dense representation of the flow, emulating what happens when a rectangular
area of massless fine sand is blown by strong wind (Figure
1). Here is a mini version of theLIC
source code.

LIC is an image-space or Eulerian-based
texture synthesis technique for steady flow visualization (whereas UFLIC
- Unsteady Flow LIC[60]
used for time-varying flows is an object-space or Lagrangian-based
texture synthesis method by which a particle released at a time under investigation
leaves its footprint at, i.e., contributes its property / texture to, succeeding
positions downstream as the flow evolves). For each pixel of the output
LIC image, the contributing or correlated pixels are first located along
the bi-directionally advected streamline and then the associated noise texture
values are referenced for convolution (Figure 2).
A sequence of animated
LIC frames can be produced by shifting the phase of a periodic
convolution kernel like Hanning kernel (care needs to be taken to handle
the abrupt-replay problem with non-periodic kernels, such as a box kernel
used in FastLIC [34]).