I’ve been experimenting with blur and was quite happy about the results so far.
I created classes and shaders that convert simple shapes (imagine a thin curved line with vertices) into thick ones (meshes) with generative masks and photo textures.
The blur is a optimized rewrite of the shaders found at https://github.com/gcorallo/ofxBlurUtils Notice the subtle blue tint of the blurry parts. You can blur separately each RGB channel.
The shapes you see are all created with the same equation (it’s animated). I store a collection of equations on an ArrayList, and then I can morph from one equation to another. For that I use another class I created, which is an 2D point array interpolator. What it does is to give each interpolated point a slightly different start and end times, so you can morph those shapes between different equations unevenly (some parts morph earlier, some parts later).
With an integrated Intel GPU on a laptop it toggles between smooth-ish and slow frame rate (when it gets hot). With a better GPU it animates smoothly.
This is how it looks before any of the magic