# 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. May 1, 2015 at 3:46
• But how do you get a turbulent velocity from the noise texture? May 1, 2015 at 8:57
• I suppose the texture would already have the pre-calculated coefficients?... May 1, 2015 at 17:36
• Brutal Legend got nice results with a technique called Curl Noise - worth taking a read of the published papers on it. May 5, 2015 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;