Not logged in, Join Here! or Log In Below:  
News Articles Search    

 Home / 3D Theory & Graphics / Need help for programming a weather engine Account Manager
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

April 09, 2005, 03:42 AM

Hey everyone,

I plan on programming a full weather system for a 3D game.
Basically I want rain, snow, and wind.
That's not all I want a complete cloud system too that can foam grow and then rain is able to fall from those areas.

I want the weather for the game to be spreaded out by a calender system.

What I need to know is if anyone has already done this or tried to, any help will be needed.
I also need help on how to do the clouds. I've read before about rendering clouds as imposters, but these are simple billboards, I want clouds able to foam together and then have a huge area which rain falls from.

A few years ago I made a tech-demo for a iso strategy rpg game I planned on making, one of the things I added to the battle scenes was that there was a day/night, and a schedule if it should rain in a day and when it should and how many times, and if it is suppose to snow.

Ever since I made that tech-demo, I have been interested in a weather engine.
If anyone has ever played games like Shenmue, or Fable. You know how realistic those games are? Well it is my dream to create a game like that and have everything going super realistic, like the weather engine.

But for now, all I want to make is a tech-demo, having everything almost as realistic as it can go. And then after that I can convert parts of it for use in a game.

It would really be helpful if I can get a project with several people going on about this, for non-profit and only knowledge reasons.

I've decided since my first version of the engine will be based with the view only on the ground, I have decided to use a cloud box, or various layers of cloud textures covering the sky.

But now, I've been looking at 'Simple Clouds Part 1' article on here, and I've translated the code used for perlin noise to a tech-demo project. And I like it, well somewhat, but I don't like how it isn't very much customizable. And the outcome it creates isn't what I consider to be too great for my cloud textures.

What I would think what would be great, instead of using perlin noise to create a cloud texture, instead use some version of it to create a random single cloud instead of a covering, and able to change the look of the cloud by choose the cloud formation (or type), and the random engine would go to work from there.
But my knowledge does not go this far, does anyone have any idea where to start on this idea or have I just gotten myself to a dead end with this idea?

Thanks in advance.


April 09, 2005, 04:03 AM

Niniane Wang wrote a nice paper on the realistic rendering of clouds. I don't recall if it also covers the actual formation of cloud structures, but the basic technique lends itself well to extending it.

Screenshots (from Flight Sim 2004 that used this technique) and the actual paper can be found at

Alex Herz

April 09, 2005, 06:56 AM

We played with a similar system. It scales well, looks good and can be enhanced to a less artist controlled more simulation type of thing. We rendered very few big additive sprites over each cloud so they could be tinted in glowing colors for sunset/lihgtning that strikes etc. The additive sprite added a lot of interesting detail.
For the lightning itself we used a randonly generated tree of sprites pieced together. At the beginning each sprite is scaled up immensivly, so they cover the screen completely. Because of the additive rendering we used the screen went white (when close up to the stroke). Then the sprites were scaled back over time so that he white screen moved into the shape of a lightning bolt. This resembled the real live videos of lightning we used as reference pretty well. Also we tinted the additive sprites of the clouds nearby to make them glow.
For the cloud shading we doted the normalized cloud center to cloud particle vector(for each sprite composing the cloud) with the normalized vector from cloud center towards the sun. Using this the part of the cloud facing away from the sun is darker, the other side brighter. Especially when the sun is going down this looks more real than simply shading the clouds top bottom as Niniane Wang's method suggests.
When visualizing rain u should try to empasize the effect the water drops have on the objects/ground they hit because you can hardly see the actual rain drops falling in real live. If you draw a lot of falling "lines" for rain it often looks like a cartoonish thing. I didn't get to do I cannot help u much there.

Hope these ideas help you,


April 10, 2005, 01:38 AM

thanks so far, I've looked at all that and there is useful information, just not any source code or anything I want.

This thread contains 4 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.