Page 1 of 1

cloud simulation

Posted: Thu Sep 06, 2012 7:24 am
by sirleto
(i'm not sure if this is the right forum, if any mod/admin sees this and feels its in the wrong subforum/section - just move me, thx!)

i wanted to tell irrlicht community about my current project: adding a volumetric cloud rendering and simulation system to my irrlicht using 3d game:
http://www.gameprogramming.de/renkel/po ... .php?id=30

you can see a short sample video of my realtime cloud simulation here:
http://www.youtube.com/watch?v=I4CARjJnLBE

Image

the simulation creates size independent cloud systems (think of boxes) in which clouds can move, a game world can then have multiple systems that are only rendered when their bounding box is visible. the rendering is done via the 3d engines main thread, while the cloud simulation of the multiple systems is done in one simulation thread that manages the simulation of all cloud systems.

on my core i7 870 + gtx 470 (bought 2010) these are the stats:
-simulating one (medium sized) cloud system for one iteration step: ~15ms
-updating the render data: less than 1ms
-rendering in 1280x720 (camera outside of clouds): 1500+ fps
-rendering in 1280x720 (cemera inside of clouds, lots of overdraw): 800fps

i wrote this tech demo in one week (60+ hours) to celebrate the start of my 9 1/2 weeks game development only time (yay, away from my dayjob!).

if you want to see more of my games visit:
http://www.ludocrazy.com/

Re: cloud simulation

Posted: Thu Sep 06, 2012 7:33 am
by sirleto
i guess i forgot to mention how it works :-)

basically the cloud simulation is simulating watervapour (humidity, air traveling upwards) to form cloud "particles"

on top of the simulation i have written a renderer, which renderes these particles volumetrically using simple splatting

the technology is not that difficult, its just a huge amount of details that allow the tweakability so that it can finally look as real (and nice) as possible)

i based my idea on a japanese paper thats over a decade old and was then not ment to be realtime - but today its possible :)

Re: cloud simulation

Posted: Thu Sep 06, 2012 12:03 pm
by hybrid
Very nice technique. I guess it's the correct forum. You should be able to edit your first post now to get real URLs from the addresses in there.
Which kind of mesh structure do you use? Are these overlayed quads in a single meshbuffer per cloud or so?

Re: cloud simulation

Posted: Thu Sep 06, 2012 5:36 pm
by sirleto
thanks for the url hint ;-)

all clouds of one cloud system are drawn with one vertexbuffer and a shader, its splatting: so yes, the vertices form quads that overlap each other. there are some tricks going on to make it look good when one walks around them but basically its nothing special per se, just a huge amount of tiny details

(minor edit)

Re: cloud simulation

Posted: Fri Sep 07, 2012 7:55 pm
by fmx
I dont know about the simulation part but those dynamic clouds look really nice :)

Re: cloud simulation

Posted: Sun Sep 09, 2012 11:02 am
by sirleto
thanks, i've added them to my game now and they look even better (with full screen bloom and world geometry being shadowed in the same sun direction - so everything fits)

its nice to have volumetric clouds (instead of a flat cloud layer or a flat skybodx/skydome). climbing my highest "mountains" you can tell that the clouds are so close you can nearly touch them.

i'll post the next video of the game some time this autumn i guess.