NVIDIA FleX Changelog

What's new in NVIDIA FleX 1.1.0

Jan 15, 2018
  • New API style, for consistency with other products the API has now an NvFlex prefix and follows a naming convention similar to PhysX
  • Add support for DirectX, in addition to CUDA there is now a cross platform DirectX 11 and 12 version of the Flex libraries that Windows applications can link against
  • Add support for max acceleration clamping, see NvFlexParams::maxAcceleration, can be useful to reduce popping with fast moving kinematic shapes and large interpenetration
  • Add support to querying compute device, see NvFlexGetDeviceName()
  • Add support for flushing compute queue, see NvFlexFlush()
  • Add support for multiple library instances, NvFlexInit() now returns a library which is bound to a single compute device
  • Add support for local space particle simulation, see NvFlexExtMovingFrameInit() and two new local space fluid and cloth demos
  • Add support for CUDA 8.0.44
  • Remove NvFlexError enum, errors will be reported through the NvFlexErrorCallback passed to NvFlexInit()
  • Remove NvFlexMemory enum, users should use the new NvFlexBufferType
  • Fix bug in inflatable constraint solver that could cause some shapes to generate NaNs
  • Fix for SDF contact generation when the particle lies completely outside volume, fixes a problem with ghost contacts
  • Fix for friction being incorrectly applied on trigger shapes
  • Fix for multi-phase fluid cohesion not working correctly, re-enable Rayleigh-Taylor instability test
  • Fix bug with public projects that referenced internal CUDA paths
  • Fix for calling NvFlexSetInflatables() with a count of zero
  • Fix for buoyancy parameter
  • Fix for bug in BVH builder that could cause missed collisions
  • New optional NvFlexDevice library for handling GPU selection and initialization in CUDA
  • New buffer based API, all data must now be passed to Flex through FlexBuffers created through NvFlexAllocBuffer()
  • New stable shape matching code for more robust and efficient soft bodies, removes need for NvFlexParams::inertiaBias
  • New collision shape API supports instancing of convex meshes and a much simplified API, see NvFlexSetShapes()
  • Improvements to collision detection for moving shapes, Flex will now perform a CCD check also taking into account the shape trajectory using the prev/current transforms of each shape

New in NVIDIA FleX 1.0.0 (Mar 21, 2016)

  • Added support for reporting collision shape ids, and trigger volume shapes, see flexGetContacts()
  • Optimizations to host code performance
  • Fix for potential memory leak in SDF object destruction
  • Fix for potentially missed collisions during convex shape CCD
  • Fix for incorrect bounds computation during flexSetShapes() (if not specified by user)
  • Fix for initial shape translations being incorrect when using a transform with flexExtCreateInstance()
  • Move flexExt.h header to the /include folder