Skip to main content
GameDev.net gamedev.net
🔒 Locked

Snow Accumulation

Started by Roadkill247 Jan 16, 2008 at 10:57 AM 2 replies 1.5k views
Original Post
Roadkill247
Roadkill247
I'm a writing a project to present Snow Accumulation in real time, I am wondering whether to do it with an orthographic depth rendering or whether to use a pixel shader, I know little about both, just the google results that I have found. I was wondering which was best from a performance point of view and how to go about implementing it. Thanks in advance!
Neutrinohunter
Neutrinohunter
It depends on how realistic you want it to be.

I always wanted to do a water accumulation effect for my Terrain demo. I would have a particle system which used billboarding but accumulate to a liquid flow when it hit the floor. I suppose you could do a similar effect for snow.

I would probably do it as in a box around the camera, then perform analysis on how much snow should have been accumulated when you reach an area.
yahastu
yahastu
I have done this before at interactive framerates in max using metaballs controlled by a particle system. After forming the metaball structure I would relax it which did a pretty good job of simulating the natural diffusion of snow due to wind etc. There's no reason why you couldn't do the same in real time if you coded efficiently. Unless I am misunderstanding the way you want to present this, it seems to me that snow accumulation requires creating new geometry that blobs onto your scene objects naturally...which is not something that you can do in the pixelshader, which doesn't have anything to do with creating new geometry, but rather coloring rasterized pixels.
Zipster
Zipster
There's no reason why you couldn't implement this on the GPU with a marching cubes algorithm. Check out "Generating Complex Procedural Terrains Using the GPU" by Ryan Geiss in GPU Gems 3 (the latest edition). It uses a similar technique, at interactive rates. Except doing just snow on the ground would be faster and potentially easy to implement.

Edit: I wanted to add that diffusion and other "erosion"-like effects can be done via blur filters. Plus, it should be quite easy simulate water by throwing in a fluid simulation. You know what, now I want to write a water/snow demo [smile]

[Edited by - Zipster on January 17, 2008 1:28:53 PM]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.