I've been having a pretty good time playing around with NVidia's Flex SDK so I went ahead and created a simple CinderBlock/sample for integrating it into Cinder. Flex is a CUDA accelerated particle system framework for handling large numbers of fluids/rigid-bodies/soft-bodies/etc. using position-based dynamics. Think RealFlow/nCloth but in real-time (and of course not quite as mind-blowing).
The block currently only supports Windows/Visual Studio (no OSX Flex support yet).
Very cool! And kudos for coming up with such a nice clean minimal sample from the rat's nest code that NVidia provides.
I got it working with Flex 0.9 by commenting out mParams.mDiffuseLifetime and mParams.mInertiaBias in CinderFlex.cpp. It crashes when linking with Flex 1.0 however. I didn't have much time to look into it but the debugger stopped at flexWaitFence() in CinderFlex::setupParticles()
It works fine with Flex 1.0. Pilot error was the cause of the crashing. I didn't have the proper path to the Flex dlls
I do have all my DLLs in order and am getting a variety of crashes and assertions. Windows 10. VC2013 and VC2015 in any configuration. I have Flex 1.0 and CUDA 7.5 installed with the paths set up correctly. GTX 980Ti.
Ah strange. I had no problem building and running on a number of Win8 machines with NVidia cards of a couple different flavors. What are the crashes/assertions you are getting? I'm away from my Windows boxes for a few more days but can check it out when I get back.
Thanks for adding 64-bit and vc2015! Mind making a pull request with those changes?