AMD has announced a multithreaded CPU library for deformable material physics, using the Finite Element Method (FEM), called FEMFX. The model supports a wide range of materials and interactions between materials. Moreover, this CPU library is currently available for download.
According to the red team, the library uses extensive multithreading to utilize multicore CPUs and benefit from the trend of increasing CPU core counts. The system is also designed with the following considerations:
- Fidelity: realistic-looking wood, metal, plastic, even glass, because they bend and break according to stress as real materials do.
- Deformation effects: non-rigid use cases such as soft-body objects, bending or warping objects. It is not just a visual effect, but materials will resist or push back on other objects.
- Changing material on the fly: you can change the settings to make the same object behave very differently, e.g., turn gelatinous or melt.
- Interesting physics interactions for gameplay or puzzles.
Here are the key features of FEMFX:
- Elastic and plastic deformation
- Implicit integration for stability with stiff materials
- Kinematic control of mesh vertices
- Fracture between tetrahedral faces
- Non-fracturing faces to control shape of cracks and pieces
- Continuous collision detection (CCD) for fast-moving objects
- Constraints for contact resolution and to link objects together
- Constraints to limit deformation
- Dynamic control of tetrahedron material parameters
- Support for deforming a render mesh using the tetrahedral mesh
Lastly, you can find below some GIFs showcasing this new physics system.