ParticlesGPU Library 2.0 (dx11)... commitment :)

Hello evvvverybody,

Now’s the time for preparing a new dx11 version of the original ParticlesGPU library.
It will involve many hours of thinking, working, sorting, packing… to prepare something that is ready out of the box for most of the users needs.

Write here your thoughts regarding what’s missing in the old version and what you would like to have in terms of usability; it will help me in structuring the new library.

And if you can, support this development using flattr (on my username) or paypal (natan.sinigaglia@gmail.com) with whatever you want. This would help allowing me to dedicate more time to the development.

thanks everybody and stay tuned ;)

Natan

Hey, Natan. Thx for ur effort looking forward in to this ;] U shud prolly make a git repo for this. As far for me, i would really look in to complex behaviors, warps, forces. Some stuff to make them properly align.

some spontaneous thoughts:

  • sdf
  • automatic meshing (perhaps with marching cubes?)
  • gpu -> cpu: write/read on hdd, sending via network

very cool…maybe talk to kyle mclean he has a very nice approach to connect nodes with standard math for huge buffers…i saw a demo and its super quick and very vvvviiish modular…i think his way is very intelligent and might be the architecture to go for.

mio

+1… no text …

sdf
automatic meshing (perhaps with marching cubes?)

+1

Looking forward and would also be happy to contribute something

SDF
Uniform mesh emission
Noise
More Noise
More flexible control over multiple emission behaviors and rates in general
Everything time based where possible

As far as architecture I guess there are a lot of tradeoffs between performance and modularity. Personally I prefer the latter. I guess due to custom structure the emitters and behaviors have to be very specific, but would be nice to be able to use structured buffer inputs on these where practical. Also I think for me on the drawing side I’d rather have this a bit decoupled and to just grab whatever particle property want as a buffer, but I guess that’s easy to add and would be more friendly for many to just have some draw modules that work out of the box.

@everyoneishappy: all of that is in mups (more or less) https://github.com/microdee/mups
however i haven’t touched this for a while, obviously there’s much room for improvement here and there

@microdee yup that’s where I learned SDFs from actually :)

What would be great is a generic spatial grid sorting for fast physic, like sph.

https://discourse.vvvv.org/t/7353

Yeah, cheap grid clustering is a great start for perf gain when calculating any forces emitted by “neighbours”.
When I think about the modularity of such a thing this is a hard nut to do generically (even in c#), let alone cores and types on GPU.

But you were asking for constructive input: it seems to me a necessity to have a cool way of a conditional split of particles into different spreads. the condition is pretty much like the delegate in vl:
split all current particles according to a field, or even a space box to indicate “local”.
It should be possible to do so in real time, so you can shake your grid at will to minimize cell border artifacts.

PS: I’m not sure if we get vl shader language code generation any time soon, but a few TemplateX (DX11.Particle) could help out for some time.

Short side comment re grid sorting- it’s probably not super performant but I just posted some experiments in this direction in this thread:

https://discourse.vvvv.org/t/12461

also vux made a plugin for spatial grid stuff, maybe he could release it (along with multi-buffer renderer) :)
as for particle lib, i would be happy to help/contribute once you have it on github