Particles and collisions

Greetings all!

I think I know the answer to this already, but I feel compelled to check :wink:

I’d like to have my particles bounce off of surfaces in my world. Ideally, I’d like them to bounce off of collision geometries, but any description of surfaces (i.e. if I could specify a plane in space to be the ground and have particles pool and bounce off of that plane instead of penetrating it) would be acceptable. Does Panda’s particle engine currently support any features of this type?

Thank you for the help!
-Mark

hm. not really shure if something like this already exists… but i bet it would eat quite some cpu if it did.
you might wanna use a vertexshader for it. i once saw a ati demo. it showed a vulcan with hundret thousands of particels (representing lava) which flew and streamed down the mountain, collecting in moles and such… quite impressive. … i think it ran on 9600 card (or something simmilar) with pretty good framerate, and almost no cpu usage (since it’s a shader).perhaps you can find it somewhere, not shure if it’s still there since it all moved over to amd’s place^^

That’s tricky…
You might be able to do collision detection on a particle effect, but as you can’t really control the individual particles (at least not as far as I know) I think there’s no easy way to do it.

Well, there are however a few things that come to my mind.

If you can do collision detection on the particles, you might as well use the built in physics.

Or you could build your own little particle engine with build in collision detection.

Thre’s another way to control the particle flow of the build in particle engine: forces. You might be able to dynamically add a force at the point of collision that drives the particles in that area away from the collision object.