Realtime VFX artists can use Motion Vector frame blending together with a 2D lookup texture to achieve higher amount of detail using less resources. These advanced shader techniques offer an efficient way to save texture memory and shader instructions.
A looping texture offer ~infinite particle lifespans and slower texture playblack rate. My example texture is a 32 frames and its playback speed can easily be slowed down to 5% without sacrificing visuals.
- Main texture, BC5 two channel greyscale
- Motion Vectors, uncompressed
- Linear2D gradient lookup map, RGBA 256×256
Main Texture source is a 32 frame animation created in FumeFX. Motion Vectors came rendered straight out of FumeFX with no optical flow post-process. Sequence made looping using a simple crossfade in After effects.
This shader is created from the inspiration from Klemenz Lozar’s blog post about Motion Vector frame blending.
Another source of inspiration was Simon Trümpler’s blog post about Fallout 4’s clever use of 2D gradients: