Dynamic Noise

Klaim

28-05-2013 11:22:38

Hi,

I was wondering if you had recipes for generating noise textures that would be animated?

My initial thinking is to just generate a big noise texture and randomly moves the uv in part of this texture each frame so that it looks like animated noise.
However it might not be really good looking.

Are there other ways to do this?

mikachu

28-05-2013 14:55:32

I think there are several common techniques for this :
- two (or more) blended 2D textures with animated UVs at various rate, as you could see in older games (Q3A, for example)
- or using one volume texture, with animated UVW inside it (I think Ogre SDK's volume texture sample does that). In that case, OgreProcedural would need to be extended with support for volume textures..

Randomly moving UVs inside a big texture, with vast UV variations each frame would probably produce some "broken TV" kind of noise, but it wouldn't be good for smoothly moving noise...

Of course, it's just a guess, I haven't actually tried by myself :wink:

Klaim

28-05-2013 15:21:32

I did this a long time ago in a game (which I'm making a remake now) but it was far before the word 'shader' was even used for graphic cards... So I assume it's simpler to do directly with a shader.


BTW, Would it be a bad idea to just generate totally the noise graphics by a shader?

Transporter

05-06-2013 07:37:55

If you have good ideas for shaders we can extend the library by a shader generator, too. But at the moment I don't know shader programming.

Klaim

05-06-2013 10:55:19

I'm not a specialist either. I have to finish something else before getting to this, I should be on this at the end of the month. If I find a nice (configurable) way to do it I'll submit it here.

What I'm wondering these days is as there might be different kind of noise graphic patterns, I don't know if with one algorithm and some parametters you can tweak it to do any kind of look you want.

Transporter

06-06-2013 08:46:13

We use a Perlin noise for noise generation. But we can add other types of gradient noise if required.