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.
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.
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.
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.
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.
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