This is a Particle system for Panda3D, the physics for it is run on the GPU using ping-pong buffers.
The system enables particle collisions with the scene using either a pre-generated 3d texture (voxel) or a heightmap updated in realtime.
More information is available in the wiki: https://github.com/wezu/p3d_gpu_particle/wiki
If You have a comments or requests you can also use this forum topic: https://www.panda3d.org/forums/viewtopic.php?p=107457
A video showing the particle collisions: https://youtu.be/5DAO8La7MAY