# How do you add turbulence to a particle system using noise?

I have implemented a basic particle system using transform feedback in openGL, hoping to replicate a dust cloud.

I have looked at methods of adding turbulence, such as vortices found here.

But they do not give the desired effect. The guide discusses the idea of using perlin or simplex noise to add turbulence.

But I don't understand how this is done?

Would you use a pre-generated noise texture and take sample data from it?

Or calculate data at run time in the shader?

What is the basic idea behind implementing noise turbulence?

Edit: My main question would be, how do you get a turbulent velocity from noise values?

• I believe textures are often used because it is still cheaper to sample from a texture than to compute the noise values on the fly. – glampert May 1 '15 at 3:46
• But how do you get a turbulent velocity from the noise texture? – getmad12 May 1 '15 at 8:57
• I suppose the texture would already have the pre-calculated coefficients?... – glampert May 1 '15 at 17:36
• Brutal Legend got nice results with a technique called Curl Noise - worth taking a read of the published papers on it. – DMGregory May 5 '15 at 2:29

Another and better way would be to generate two random numbers with the method I mentioned before: rand1 and rand2 that will be between 0 and 1 and use them to get a random uniformly ditributed poin point on a sphere witch can be used as a dirrection vector and scaled as needed. Like so:
    theta = 2 * PI * rand1;