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

Submitted by Peter Hall, posted on July 09, 2001

Image Description, by Peter Hall

This is a screenshot of something I've been working on for my final year project as a computing student at Imperial College (in London, UK). The project is based on cloud rendering, and is based on a paper which can be found at

My work runs at interactive frame rates (for interactive read > 1 fps on my Celeron 433 with GeForce 2 MX 200). It quite happily pushes the graphics card as far as it will go, and that's the bottleneck. I think it can be sped up to reach real interactive frame rates with some more optimization though...

The method uses a large 3d array to store the clouds, the cells of which are then rendered as metaball textures on billboards. Oh, and it uses Open GL for rendering purposes.

The work also implements to draw the sky correctly, and (though you can't see it) the sun will rise, move through the sky and then set again. In fact it's just setting in this picture, as you might have noticed from the orange glow along the horizon...

And before anyone asks, no, you can't have a demo. It's not finished (and it's never likely to be either... :-).

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
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.

July 09, 2001, 01:47 PM

Wow, sounds like a real fillrate eater.

BTW: First post, bitches! ;-)

Garett Bass

July 09, 2001, 01:48 PM

Nice work. Thanks for the links :)

Tobias Franke

July 09, 2001, 02:03 PM

Ah yeah, great stuff, that was what I've been searching for: clouds! Thanks for the links as well!

Rectilinear Cat

July 09, 2001, 02:10 PM

Geez, you implemented that paper? I don't think I understood a
single word of it!! (probably because i haven't read it but just skimmed
it. will read it after lunch) This may sound silly, especially since I
have just said that I haven't even read the paper, but why use billboards
at all? Just render the metaball mass as an alpha mapped mesh and you
get clouds. Sorry if that sounds extremely stupid :) Anyway, looks like
lots of work went into your program. Nice work!


July 09, 2001, 02:57 PM

Ok, try this for an idea (and since u have a GF2)

generate the clouds layers in 2d (and u can have various layers in different heights.

then use volumetric textures/rendering to render the clouds, it really produces a nice effect and the clouds can be dynamic. Note, volumetric rendering is costy but I can get 20 fps at least :)

Other ways is to use VOXELS instead of metaballs since metaballs are very slow compared to other methods but I really suggest the 2d layers + volumetric !

Anyway, good luck

Rectilinear Cat

July 09, 2001, 03:02 PM

Also about your nice "interactive" framerates, part of the problem
may be that geforce2 mx 200. 200 is crap, and the reviews of it everywhere
support that opinion. Try getting the leaked 12.90 detonator drivers
at I have a geforce2 mx 400, and
my framerates in 3dmark2000 doubled from the 12.41 whql drivers,
despite the fact that I (1) have a VIA mobo, (2) an AMD k6-2 500,(3)
an AT power supply, and (4) only agp 1.0 compliant port. I was surprised
that the card even worked at all when I plugged it in, and when my framerates
doubled after the driver change, I nearly died. Try them out, they might
make the same improvements for you (2 fps?? :)


July 09, 2001, 03:27 PM

Cat: What the fuck does your power supply have to do with your framerate? :)


July 09, 2001, 03:28 PM

I've seen another implementation of this paper, and I'm still confused by the term "metaball textures". Does this mean you use billboards with alpha blended gaussians on them, or is it actually doing metaball stuff ala Blinn's blobby modelling paper?


Rob James

July 09, 2001, 03:33 PM


Excellent work! I've got a bucketfull of papers on cloud rendering but have not been brave enought to try and implement any!

You can see an example of (fake) volumetric clouds here:

It's an image from my Procedural Planet demo. The clouds are just 12 layers of 2d cloud textures -in fact the same texture in each layer.
The clouds cover the whole planet so it's like 12 layers of an onion skin rather than a lasagna!

The bottom and top layers are very transparent and blend more as the middle layers are rendered. I want to darken the bottom layers to give more of a 3D feel. As you can see, fill rate is just fine (Celeron II 750 + GF3)

Looks great animated ;)

Rob James

Rectilinear Cat

July 09, 2001, 03:36 PM

Although one of the geforce2mx's features was extremely low power consumption
(only 4 volts i believe), as compared to the geforce 2 gts, which was 12v
i think, i wasn't sure if my at power supply was capable of delivering
4 measly volts to the card. the gf2mx400 complies with agp2.0 standards,
which call for a higher minimum voltage to the agp port (among other things),
and since my shitty mobo was only agp 1.0 compliant, i thought the card
might not work due to a simple lack of power.

Tasty Morsel

July 09, 2001, 03:41 PM

It does mean billboards with alpha blended gaussian (or similar) functions on them.

You try getting a decent framerate without a power supply :-).



July 09, 2001, 03:52 PM

I had a friend who couldn't power his GeForce with his Vectra (Hewlett Packard - not the car!). Looks nice - slim line body etc., but a tad weedy. He bought a GeForce and when he set it up it didn't work. He thought it was duff so he took it back to the shop. Got another. That too didn't work, so he took it back to the shop where the shop keeper replaced the shops demo-machines card and hey presto! it worked. In the end we unplugged the CDRom and the GeForce worked - not enough power from the 180watt PSU.

Richard Szalay

July 09, 2001, 08:38 PM



July 09, 2001, 10:36 PM

Very nice screen. I love good clouds effects, and yours is pretty damn good (in my memory the one in the startup of Banjoo Kazooie on the N64 where the camera flys through it is still the best, but that has the advantage of only being in my memory and could be not as good as I remember).

I'm even more impressed, and more intrigued by that skylight stuff you linked to though.

Did you implement the sky stuff directly from their paper, or did you leave some stuff out? I ask because it looks, in your IOTD, like you're not doing the aerial perspective thing, but I'm not sure if that isn't just the clouds?

If you left stuff out, was it because it was too difficult to implement at the time, or because it was too slow to execute?

(BTW anyone, who hasn't looked at that second link, you really really should. In particular check out the looking west at sunset shots. They nearly knocked my socks off.)


July 09, 2001, 10:40 PM

pretty nifty!

Brebion flavien

July 10, 2001, 03:19 AM

Hey, nice work! I have also implemented the technic described in this paper, but for rendering i used impostors instead of metaballs. Hence a single cloud only took 2 triangles to render instead of hundreds of billboards. Result: really usable in a game, cf. my previous IOTD :)

Here is a link to my clouds generator and impostors converter tool (better in 32 bits colors):

(Arrows to turn around cloud, key '8' to generate the impostor files)

I also have the sources if you want..

F. Brebion


July 10, 2001, 05:04 AM

Not Peter R-Hall at Imperial? You're still at IC? Remember me? :)



July 10, 2001, 05:17 AM

I read a paper on making clouds using 4D Perlin noise, is this technique in any way similar?- too busy to check. Do the clouds color/colour change with the time of day like the sky, that would be cool.

Tasty Morsel

July 10, 2001, 05:17 AM

Nope. Must be someone else. :-)

I didn't completely implement the paper; the aerial perspective stuff looks really good, but my project was only supposed to be on cloud rendering. I was going to try doing some of it, but didn't get time before the deadline.

Brebion flavien:
Your work sounds a little like that by Harris and Lastra (found here). Their paper's worth a read as well...

Thanks for your comments everyone.


Brebion flavien

July 10, 2001, 06:00 AM

Damn it! Thanks for the link. That was really interesting. I didn't find it when i did some research for my game. Their technic is different in the sense that they use dynamic impostors (ie they use an error metric and recompute the impostors when needed) while i am doing static impostors only (faster, since there is no need to recompute anything, but takes quite a lot of memory if you do not want popping to show off..).

Anyway, i really love clouds. Had to say it :)

F. Brebion

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