Tuesday, March 22nd, 2016 Posted by Jim Thacker

Nvidia releases HairWorks source, unveils PhysX-GRB

Nvidia has unveiled PhysX-GRB, a new implementation of its PhysX GPU-accelerated rigid body solver designed to run either on the GPU or CPU, intended to improve calculation speed on less complex simulations.

The extension, which is still in beta, forms part of version 3.1 of Nvidia’s GameWorks SDK, released last week at GDC 2016.

In separate news, Nvidia has also officially released version 1.0 of the FleX SDK, its particle-based multiphysics system; and released the source code of HairWorks, its GPU-based system for rendering hair and fur.

PhysX-GRB: rigid body dynamics sims on the GPU or CPU
The most eye-catching of the announcements (literally, at least: it’s the only one with an accompanying demo video) is the new PhyX-GRB (GPU Rigid Body) extension for Nvidia’s PhysX middleware.

Unlike previous implementations of the rigid body solver, it’s not purely GPU-based: simulations can be executed on CPU or GPU with little difference in behaviour or available features.

The new extension is designed to address the fact that while GPU rigid body simulation improves performance on complex scenes, it can actually be slower than the CPU for simpler scenes.

PhysXInfo.com has a good article on why and where the transition occurs, including a lot of actual test results.

According to the site, any application that uses the PhysX 3.4 SDK or later can theoretically choose to run some or all of its rigid body simulation on the GPU with “no additional programming effort”.

As well as game engines like UE4 and Unity, DCC tools using PhysX include 3ds Max, where it forms the basis of the MassFX toolset, and Maya – although as far as we’re aware, all currently use earlier versions of the SDK.

As you’d expect, the implementation is CUDA-based, meaning that you’ll need an Nvidia GPU to make use of it.


Also new in GameWorks SDK 1.0: new Flow gaseous fluid system and lighting technologies
PhysX-RGB is one of two new PhysX extensions to form part of Nvidia’s GameWorks SDK 3.1, the other being Flow (above): a new gaseous fluid dynamics algorithm intended for simulating fire and smoke.

There isn’t much information about Flow, which is also officially still in beta, beyond the fact that it’s grid-based, and therefore not limited to simulation of fluids inside bounding boxes.

PhysXInfo.com notes that it has a hardware-agnostic DirectX 11 and DirectX 12 implementation.

In addition, version 3.1 of the GameWorks SDK introduces new technologies for volumetric lighting, voxel-accelerated ambient occlusion and hybrid frustum traced shadows.

The latter is designed to smooth the transition from hard shadows close to an object to soft shadows further away. You can read about all the new technologies in (slightly) more detail in Nvidia’s news announcement.

FleX SDK 1.0 released
In separate news, Nvidia has released version 1.0 of the SDK for FleX, its particle-based multiphysics system, designed to simulate anything from fluids and viscoelastic materials to cloth.

The middleware was previously only available as an Unreal Engine 4 integration.

HairWorks source code now available on GitHub
Finally, Nvidia has released the source code for HairWorks, its GPU-based hair and fur simulation system, used in games like Call of Duty: Ghosts (above) and The Witcher 3.

The announcement is part of Nvidia’s ongoing program of releasing the source code of its games technologies, begun last year with PhysX itself.

HairWorks, which is supported inside 3ds Max via the native Hair and Fur modifier and inside Maya via the third-party plugin Shave and a Haircut, is also available as an Unreal Engine 4 integration.

The Flex SDK 1.0 is available for Windows and Linux from Nvidia’s Download Center, along with the current PhysX technologies. PhysX-GRB and Flow are currently in early access, and are available by invitation only.

The HairWorks 1.2 source code is available on Nvidia’s GitHub repository. You’ll need to have an account on Nvidia’s developer site to gain access to it: you can find instructions on how to do that here.

Read Nvidia’s official announcement of PhysX-GRB and the other GameWorks SDK 3.1 technologies

Visit Nvidia’s developer website (Includes PhysX, FleX and HairWorks)