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.

| LEARN MORE

| GALLERY

| GALLERY

| ADDITIONAL RESOURCES

Unreal Engine developer?

We don't want you to miss out on the fun. FEMFX is for everyone.

| OUR OTHER EFFECTS

Cauldron Framework

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

DepthOfFieldFX

The DepthOfFieldFX library provides a GCN-optimized Compute Shader implementation of Depth of Field using the Fast Filter Spreading approach.

GeometryFX

GeometryFX improves the rasterizer efficiency by culling triangles that do not contribute to the output in a pre-pass. This allows the full chip to be used to process geometry, and ensures that the rasterizer only processes triangles that are visible.

ShadowFX

ShadowFX library provides a scalable GCN-optimized solution for deferred shadow filtering. It supports uniform and contact hardening shadow (CHS) kernels.

TressFX

The TressFX library is AMD’s hair/fur rendering and simulation technology. TressFX is designed to use the GPU to simulate and render high-quality, realistic hair and fur.