FEMFX
Multithreaded
deformable
physics
FEMFX is a multithreaded CPU library for deformable material physics, using the Finite Element Method (FEM).
Download
Features
Multithreaded
Highly optimized
Open source. MIT license
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:
- 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.
The library uses extensive multithreading to utilize multicore CPUs and benefit from the trend of increasing CPU core counts. It also has the following features:
- 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.
Gallery
Additional Resources
Unreal Engine developer?
Our other effects

AMD FidelityFX – Super Resolution 2 (FSR 2)
Learn even more about our new open source temporal upscaling solution FSR 2, and get the source code and documentation!

AMD FidelityFX – Super Resolution 1.0
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.

AMD FidelityFX – Parallel Sort
AMD FidelityFX Parallel Sort makes sorting data on the GPU quicker, and easier. Use our SM6.0 compute shaders to get your data in order.

AMD FidelityFX – Variable Shading
AMD FidelityFX Variable Shading drives Variable Rate Shading into your game.

AMD FidelityFX – Denoiser
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.

AMD FidelityFX Naming Guidelines in Game Titles
A set of guidelines for developers on how to present options in the game’s user interface to enable/disable AMD FidelityFX Effects.

AMD FidelityFX – Luminance Preserving Mapper
AMD FidelityFX LPM provides an open source library to easily integrate HDR and wide gamut tone and gamut mapping into your game.

AMD FidelityFX – Stochastic Screen Space Reflections
The AMD FidelityFX SSSR effect provides an open source library to easily integrate stochastic screen space reflections into your game.

AMD FidelityFX – Combined Adaptive Compute Ambient Occlusion
AMD FidelityFX Combined Adaptive Compute Ambient Occlusion (CACAO) is an RDNA-optimized implementation of ambient occlusion.

AMD FidelityFX – Single Pass Downsampler
FidelityFX Single Pass Downsampler (SPD) provides an RDNA-optimized solution for generating up to 12 MIP levels of a texture.

Cauldron Framework
Radeon™ Cauldron is our open source experimentation framework for DirectX®12 and Vulkan®.

AMD FidelityFX – Contrast Adaptive Sharpening
AMD FidelityFX Contrast Adaptive Sharpening (CAS) provides a mixed ability to sharpen and optionally scale an image.