Sky and Clouds

Started by
11 comments, last by RenHoek 15 years, 3 months ago
Hello all ^^ I am in need of some advice. Currently I have a hemisphere covering my game world with atmospheric scattering applied, and it looks great so far, but it lacks clouds. I tried applying a simple cloud texture over the hemisphere for a test, but the clouds look terrible and lack the perspective feeling of depth.. Does anyone have any suggestions on what method of clouds I should use? I have read up on volumetric/grid and perlin noise methods, but I am not sure what would be best with the sky hemisphere.. Cheers, Adrian ;)
Advertisement
You can get quite far with perlin noise effects applied to 2d plane.
Here's a really good sky system described by Yann L.
=> http://www.gamedev.net/community/forums/topic.asp?topic_id=86024
I'd suggest going this route first.

Clouds modeled with a bunch of particles are quite good for general purpose use.
( ie, you can fly around them, they can interact with mountains/geometry etc..)
Microsoft published a paper on one of their old systems.
Crytek stil use this kind off approach too.
=> http://ofb.net/~niniane/clouds/

Here's a cool middleware system
=> http://www.simul.co.uk/weather
Looks pretty sweet. They apply some hardcore atmospheric math to get realism.
( primary and secondary scattering in clouds )
But you don't have to go that far. Single scattering is enough for most systems.
They essentially model their clouds in a large 3D texture.
Then render it via slices through the texture.
Detail appears to be added via texture sprites (as like in microsoft system) and via fractal noise.

Quote:Original post by adoado
I tried applying a simple cloud texture over the hemisphere for a test, but the clouds look terrible and lack the perspective feeling of depth..

Any screenshots? :)
Quote:Original post by adoado
I tried applying a simple cloud texture over the hemisphere for a test, but the clouds look terrible and lack the perspective feeling of depth.
A little normal mapping on the clouds can do wonders for the feeling of depth (usually with a fake light angle).

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

While cloud textures on a flat plane can do a fair job of simulating cirrus clouds, and even other kinds of clouds, it will generally lack the depth for more rounded cloud types. Also, it prevents any significant possibilities for interaction of clouds and the rest of the game world (cloudy mountain tops, etc).

Numerous solutions exist that improve on a flat cloud plane. Aside from normal mapping and parallax mapping, one could use some form of steep parallax mapping to give a more 3D look.

However, why restrict things to a flat plane? One major method involves rendering multiple clustered billboards with some form of simple volume lighting. For instance one could render a cloud-sprite cluster with a defined centroid from which to calculate normals, giving the lighting a volumetric appearance. To avoid rendering large numbers of overlapping semi-transparent sprites every frame, billboard imposters can be used.

Some variation of the above is used for volumetric clouds in the later MS Flight Simulators, and Crysis. Some demos of similar methods exist as well.

Also there is an interesting method in which geometric "cloud" primitives are rendered with lighting, then blurred and offset by projected noise as a post process; I've implemented such a system and found it quite convincing.

In genenal a hybrid system is probably best, as is often the case with realtime rendering. Use a cloud plane for high cirrus (done with noise), and some volumetric method for other cloud types. This a wide open field with no clear winners and lots of potential for research.
Quote:Original post by Matt Aufderheide
This a wide open field with no clear winners and lots of potential for research.

BTW,what's better in your sight-to present such things like a cloud rendering
methods here ,or in "Image gallery" part?
I also need a kind of feedback:)
I think if you have a good method this is a great forum to show results. I'd like to see more such things here.
Quote:Original post by Matt Aufderheide
Also there is an interesting method in which geometric "cloud" primitives are rendered with lighting, then blurred and offset by projected noise as a post


A similar (identical, Matt?) approach that I have bookmarked is to do something along the lines of http://www.inframez.com/events_volclouds_slide01.htm ?



Yes that's the general idea I used, but I didnt use seperate noise boxes for each cloud area because alignment was difficult; instead I used a dome around the camera, mapped with a noise texture and rendered to a screen-sized texture...this then offsets the final blurred image (there are tradeoffs though).
Quote:Original post by Matt Aufderheide
Yes that's the general idea I used, but I didnt use seperate noise boxes for each cloud area because alignment was difficult; instead I used a dome around the camera, mapped with a noise texture and rendered to a screen-sized texture...this then offsets the final blurred image (there are tradeoffs though).

Right approach.But it may cause some efects when camera move with relatively fast speed.
I'm shure you now about ideas of special kind blending for skybox and terrain.
It looks great in static camera position,and simple clouds on skybox seems volumetric.
But "deillusion" disappear when camera move.

This topic is closed to new replies.

Advertisement