Next: 16.4.4 Details
Up: 16.4 Line Integral Convolution
Previous: 16.4.2 Using OpenGL to
Next, make some simplifying assumptions to make the procedure simple:
- The supplied flow field vector grid matches the tessellated textured
surface; there's a one-to-one correspondence between vector and vertex.
- Set a fixed number of displacements (n) at each vertex.
These assumptions allow you to simply use the vector associated with each
vertex on the tessellated surface when computing texture displacements.
You can also simply calculate the displacements by parameterizing the
vector and computing evenly spaced texture coordinate locations displaced
along the vector direction, both forwards and backwards.
Given these assumptions, the procedure looks like this:
- Update the texture coordinates at each vertex on the surface.
- Render the surface using the noise texture and the displaced texture
- Accumulate the resulting image in the accumulation buffer, scaling
- Repeat the steps above n times, then return the accumulated image.
- Perform histogram equalization or image scaling to maximize contrast.