amd veröffentlicht femfx deformable physics library auf gpuopen

AMD veröffentlicht FEMFX Deformable Physics Library auf GPUOpen

FEMFX is a multithreaded CPU library for deformable material physics, using the Finite Element Method (FEM). Solid objects are represented as a mesh of tetrahedral elements, and each element has material parameters that control stiffness, how volume changes with deformation, and stress limits where fracture or plastic (permanent) deformation occur. The model supports a wide range of materials and interactions between materials. We intend for these features to complement rather than replace traditional rigid body physics. The system is designed with the following considerations:

  • Wiedergabetreue: realistisch aussehendes Holz, Metall, Kunststoff und sogar Glas, da sie sich wie echte Materialien entsprechend der Beanspruchung biegen und brechen.
  • Verformungseffekte: Nicht starre Anwendungsfälle wie z. B. Objekte mit weichem Körper, Biege- oder Verziehungsobjekte. Es ist nicht nur ein visueller Effekt, sondern Materialien halten anderen Objekten stand oder stoßen sie zurück.
  • Ändern des Materials im laufenden Betrieb: Sie können die Einstellungen so ändern, dass sich dasselbe Objekt sehr unterschiedlich verhält, z. B. gallertartig wird oder schmilzt.
  • Interessante physikalische Interaktionen für Gameplay oder Rätsel.
Die Bibliothek verwendet umfangreiches Multithreading, um Multicore-CPUs zu nutzen und vom Trend steigender CPU-Kernzahlen zu profitieren.

Eigenschaften
  • Elastische und plastische Verformung
  • Implizite Integration für Stabilität bei steifen Materialien
  • Kinematische Kontrolle von Netzscheitelpunkten
  • Bruch zwischen Tetraederflächen
  • Bruchfreie Flächen zur Kontrolle der Form von Rissen und Teilen
  • Continuous Collision Detection (CCD) für sich schnell bewegende Objekte
  • Einschränkungen für die Kontaktauflösung und zum Verknüpfen von Objekten
  • Einschränkungen zur Begrenzung der Verformung
  • Dynamische Steuerung von Tetraedermaterialparametern
  • Unterstützung für die Verformung eines Putznetzes mithilfe des Tetraedernetzes
Um den Wert für Entwickler zu maximieren, stellen wir die Implementierung bereit
Quellcode als Teil von GPUOpen unter der MITx11-Lizenz. Die Vollversion enthält die Bibliothek
Quellcode, Beispielcode und für Unreal Engine-Entwickler:
Source for a plugin that demonstrates custom rendering and scene creation.