Le mois dernier, NVIDIA a annoncé une série de nouveautés pour les développeurs de jeux, dont un nouveau solveur unifié qui fonctionne sur GPU (avec la technologie CUDA, donc actuellement limité aux puces NVIDIA, bien qu’une version DirectCompute soit prévue et une autre sur CPU dans les esprits) – tant sous Windows que Linux, pour le moment.
FLEX est un solveur multiphysique pour les effets visuels. Il hérite notamment des travaux sur PBF pour la simulation des fluides, avec une extension au couplage bidirectionnel entre les liquides et les autres types d’objets (pas seulement des solides, mais également des tissus). Il s’inspire d’outils comme nCloth (intégré dans Maya) ou Lagoa (Softimage), mais en les utilisant en temps réel.
Par rapport à PBF, FLEX veut être plus général et traiter des objets comme des liquides, des matériaux granuleux (sable, poussière), des tissus (y compris des drapeaux ou des journaux), des solides et corps déformables. Il utilise une représentation unique pour tous ces objets, ce qui lui permet de traiter des couplages de manière naturelle. Il reste possible d’écrire son propre code pour faire l’interface avec d’autres solveurs comme ceux d’APEX.
Il s’agit d’un solveur différent de ceux disponibles actuellement dans le SDK PhysX, il n’est d’ailleurs pas prévu pour les mêmes utilisations (un moteur traditionnel prévu pour les solides sera plus approprié pour des personnages ou du raycasting). En particulier, il ne réutilise pas d’algorithme implémenté dans PhysX : il est même utilisable totalement indépendant du moteur de NVIDIA. L’intégration de FLEX dans PhysX devrait arriver dans la version 3.4 ; actuellement, il faut encore faire le pont entre les deux soi-même, pour ceux qui ont accès au SDK (la disponibilité générale se fera avec PhysX 3.4).
Source : http://physxinfo.com/news/11860/introducing-nvidia-flex-unified-gpu-physx-solver/