AMD and then, by way of an ‘us too’ announcement, Nvidia, have announced brand new game physics middleware to deliver unprecedented levels of physical material interaction using the finite element method (FEM), if you’re an AMD bod, or finite element model (also FEM) if you’re an Nvidia dev. The two GPU giants are chasing the same physics, they just can’t agree on the exact unpacking of the acronym. But thankfully the FEM physics thing isn’t anything as grubby as it might have sounded to an industry where the Dead or Alive franchise exists.
First off AMD announced its own FEMFX library as part of its open source GPUOpen project. That means the entire implementation source code is freely available under its existing GPUOpen licensing. That includes source for an Unreal Engine plugin to demonstrate “custom rendering and scene creation” to aid UE devs get started.
Then, to show that it was in on the FEM train too, Nvidia announced its own version that’s coming soon in the new PhysX 5.0 SDK. It also went one better, because of course it did, to announce that it was also using the discrete element model (DEM) for advanced liquid simulation in PhysX 5.0.
It’s quite clear the AMD announcement prompted Nvidia’s own ultra brief blog post (via WCCFTech) on the matter. The AMD FEMFX release is filled with multiple demo videos built in the Unreal Engine showing deforming and breaking wood, denting metal, elasticity, and melting. Nvidia has an ill-lit 57 second demo scene showing a deformable blow up flamingo beach toy and a bunch of different chairs being chucked about.
At its most simplest, FEM physics allows devs to create solid objects from a mesh of tetrahedral elements, where each element has its own parameters covering “stiffness, how volume changes with deformation, and stress limits where fracture or plastic (permanent) deformation occur.”
AMD says the whole system has been created with these considerations as key:
- 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.
For its part, Nvidia references FEM as “an industry-standard simulation technique for deformable bodies. It is used extensively in the automotive and manufacturing industries to accurately simulate the structural strength of both rigid and soft assemblies.” The PhysX 5.0 implementation of FEM physics is going to arrive “soon in 2020” so we might see more about this around either CES or GDC in March.
Interestingly, while using the same physics technique (whether method or model…) the two systems will be run on different components. While it’s available on the GPUOpen library, AMD’s FEMFX is designed to utilise multi-core CPUs, while Nvidia’s PhysX version is likely a purely GPU-based approach. And only for the green side of the best graphics card debate…
That will mean games using AMD’s FEMFX will actually take advantage of the surfeit of cores in the Ryzen range still to be actively used while gaming. That could make AMD’s processors far more useful for titles that opt for FEMFX rather than PhysX. And with FEMFX likely offering next-gen console devs more realistic physics we could see a lot of next-gen games actually using the tech and utilising the otherwise dormant Zen 2 CPU cores… all while putting little, if any, load on the GPU.