FEMFX is a multithreaded CPU library for deformable material physics, using the Finite Element Method (FEM).
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:
Our other effects
AMD FidelityFX Lens is an AMD RDNA™ architecture optimized implementation of some of gaming’s most used post-processing effects.
AMD FidelityFX Depth of Field is an AMD RDNA™-architecture optimized implementation of physically correct camera-based depth of field.
The AMD FidelityFX SDK is our easy-to-integrate solution for developers looking to include FidelityFX features into their games.
AMD FidelityFX Blur is an AMD RDNA™ architecture optimized collection of blur kernels from 3×3 up to 21×21.
Learn even more about our new open-source temporal upscaling solution FSR 2, and get the source code and documentation!
This sample shows how to combine AMD FidelityFX Stochastic Screen Space Reflections (SSSR) with ray tracing in order to create high quality reflections.
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.
This sample demonstrates how to combine ray traced shadows and rasterized shadow maps together to achieve high quality and performance.
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 drives Variable Rate Shading into your game.
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
A set of guidelines for developers on how to present options in the game’s user interface to enable/disable AMD FidelityFX Effects.