Particle Collision

Started by
13 comments, last by Krohm 10 years, 8 months ago
I guess you won't need rain particles for all your (visible) terrain, meaning: LOD it, only draw rain in the vicinity of your camera. Far away rain could be done as a "fog" effect.

As for the update/creation of the texture. I'd still consider using a CPU approach or a CPU/GPU mix. When you build your terrain (at one point you do create those meshes anyway) create the height map as well. When your terrain changes you could then issue small update draw calls (e.g. point lists).

Good luck.

Edit: Google "toroidal update". I've seen this in conjunction with geo clipmaps (heightmapped terrain) to cut down height texture update.
Advertisement

How would you go about determine if a particle collided with something?

Many tomes of ancient knowledge have been compiled regarding this diverse subject matter. Writing your own collision detection system will in most cases be inefficient, so see if you can find preexisting third party libraries that can efficiently handle this for you before you excrete hours of strainful programming poop from a height over your codebase. It really is a fun subject matter to jump into as a programmer by pleasure, but before you make any decisions you need to assess how important your priorities in programming are.

How would you go about determine if a particle collided with something?

Many tomes of ancient knowledge have been compiled regarding this diverse subject matter. Writing your own collision detection system will in most cases be inefficient, so see if you can find preexisting third party libraries that can efficiently handle this for you before you excrete hours of strainful programming poop from a height over your codebase. It really is a fun subject matter to jump into as a programmer by pleasure, but before you make any decisions you need to assess how important your priorities in programming are.

what....

How would you go about determine if a particle collided with something?

Many tomes of ancient knowledge have been compiled regarding this diverse subject matter. Writing your own collision detection system will in most cases be inefficient, so see if you can find preexisting third party libraries that can efficiently handle this for you before you excrete hours of strainful programming poop from a height over your codebase. It really is a fun subject matter to jump into as a programmer by pleasure, but before you make any decisions you need to assess how important your priorities in programming are.

what....

what... (x2)

FastCall22: "I want to make the distinction that my laptop is a whore-box that connects to different network"

Blog about... stuff (GDNet, WordPress): www.gamedev.net/blog/1882-the-cuboid-zone/, cuboidzone.wordpress.com/


How would you go about determine if a particle collided with something? We finally got GPU particles working but for rain we want it to create a new particle on collision with the ground. How might one go about doing this?
The first "new gen" stuff I recall is Lutz Latta's "Building a Million Particle System". Also called "UberFlow". The performance was nothing short of incredible, considering it run on midrange Shader Model 3. It apparently ran on Shader Model 2 as well but I'm not sure.

I cannot find the original resource, but this presentation from AMD seems to include it.

Note that this system can make particles collide and react to height fields.

Another presentation from GDC2007 covers particle effects from a game in the Command & Conquer franchise. You might notice some similarities with Uberflow but it provides a major update and several artistic reasoning when it comes to why instead of how.

Main problem is essentially finding a way so particles can collide with arbitrary geometry without killing their perf. So far the only sure thing is that you cannot just push the whole collision geometry data to a PS. Will you go for the "subset" approach? Or maybe you'll prefer voxelization? I'm torn myself.

Previously "Krohm"

This topic is closed to new replies.

Advertisement