Hi,
I've got an example here that runs a GPU particle simulation and uses a depth map for spawn positions, so for instance if you were to feed it a movie of a person against a black background this would be used as the spawn positions for the particles. That's one of the pieces of your puzzle. https://github.com/andreasmuller/NoiseWorkshop/tree/master/ParticleSystemSpawnTexture
It doesn't have to be a depth map, here I run through the world space positions of a mesh and write them to a texture that the spring simulation then uses for base positions:
Or for Particles:
Best,
Andreas