Animated entirely in javascript, using perlin noise and displacement mapping.