This is the effect I most want to produce on canvas in 2D or glsl contexts. Does anyone know the algorithm to do this? Its like oil on water and so on, note that it's vibrant and rough which is kind of what I'm after, is it perlin noise that I should investigate? I'd also like it to animate really slowly at the speed of crude oil.