The goal is simple, to generate a tileable map that contains values used for wave selection and modulation. I'm generating a few random positions in the map, together with the values for peak width and amplitude. Using the position, width and amplitude, the peaks are rendered into the texture (or, rather, a contribution of each peak is accumulated for each pixel) using the following equation:
dx = x - xp;
dy = y - yp;
h = A*exp(-(dx*dx + dy*dy)/W)(It's not cut, I don't know how to set the z-range in Wolfram Alpha)
Since it's just a single channel, I'm using positive/negative amplitudes to select from two wave functions, giving appearance of multiple non-uniform waves.
The amplitudes are also animated - when a peak is generated, it's amplitude is initially set to 0, slowly changing to the desired amplitude over time and then back to zero. Once it reaches zero, another set of parameters is generated.