Good Looking Rain

Started by
11 comments, last by Ilici 20 years, 6 months ago
I''m working on atmospheric effects and i''me currently implementing rain. After searching the forums i found that a good way to render rain is using particles. However as i''ve seen in many games animated textures with rain droplets are used. Using particles is slow - for > 1000 rain drops using sprites the FPS begins to drop. In Morrowind the rain simulation is quite good - you can see the rain drops correctly in all directions. Using simple textures creating a cylinder around the player does not produce this effect. Any ideeas how to do it? [ My Site ] ''I wish life was not so short,'' he thought. ''Languages take such a time, and so do all the things one wants to know about.'' - J.R.R Tolkien /*ilici*/
Advertisement
You need to optimize your particle physics and/or rendering if a system of 1000 particles causes a noticable hit.

Particle-based rain can look decent, keep trying.
I know i have to omptimize it, but i was wondering about other ways to make rain.



[ My Site ]
''I wish life was not so short,'' he thought. ''Languages take such a time, and so do all the things one wants to know about.'' - J.R.R Tolkien
/*ilici*/
One common technique is to render a rain texture over the screen, after the scene is rendered. If you use multiple rain textures scrolling down at different speeds, this can look pretty good. It has problems when you don't just look forwards, tho.

How appropriate. You fight like a cow.

[edited by - sneftel on October 11, 2003 3:11:50 PM]
The way that I made rain at first was using a linelist with a blue material. It worked pretty well but it was slow at >10,000 particles, and you could notice some strange anomolies with it...namely being that as you got closer, the particles got smaller and smaller and smaller....etc. This is because lines are only 1 pixel no matter how close or far away you get.
PS can work just nice. But instead of single particle representing one raindrop make it represend a bunch of them. Just make a nice texture and use for particle. (this is simmilar to what morrowind did)

You should never let your fears become the boundaries of your dreams.
You should never let your fears become the boundaries of your dreams.
If you just use a texture then the rain wont intersect properly with geometry (no depth information). If you use any screen-space method then it wont look correct as you rotate, and probably wont have the depth either.

Personally I just use a particle system. About 1000 particles is all you need to get a good downpour. Just make them fairly neutral coloured, quite elongated, and about 30% opaque.

mmh, just some suggestions
you really need detailed drops rendered with 1 particle per rain drop close around the camera, u could use a level of detail for your rain drops, and draw the ones that are not so close with multiple drops per particle. and render only the rain drops that are within something like a 10 meters radius area?
and use a very light fog to simulate the ones that are far away.
and use a scrolling blur texture that will simulate a nice property of rai I haven''t seen yet in any simulation: that is, rain doesn''t fall homogeneously. you have layers where there are more raindrops than other, especially if there is wind. (that''s only really noticeable in heavy rain, where rain drops are quite large...)
Sorry if this is a little off-topic!

quote:Original post by gumby
You need to optimize your particle physics and/or rendering if a system of 1000 particles causes a noticable hit.


Do you have any ideas, or suggestions of how to optimize a particle system?

Thank you.
Have x particles moving with the same speed in the same directions (updating the pos in hardware by a matrix). Now have y these kind of systems with different specifications and you got a nice looking rain .

x = 200
y = 8 (8 vertex buffers)

=> x*y = 1600 particles ... all the math is done in hw so it runs VERY fast.

Good Luck!

This topic is closed to new replies.

Advertisement