During last year’s Game Developers Conference, NVIDIA introduced two new technologies alongside the GameWorks SDK 3.1, one of which was GameWorks Flow. Following the ‘experimental beta,’ version 1.0 of the NVIDIA GameWorks Flow was released later in the year, and the technology is now set to be integrated into Unreal Engine 4 soon. NVIDIA is, of course, working to advance the offerings, and to showcase the technology in its current form, the American graphics-chip maker has released a new demo showing it in action under DirectX 12.
NVIDIA GameWorks Flow is a “computational fluid dynamics algorithm that simulates and renders combustible fluids such as fire and smoke.” In the video below, you can see a DirectX 12 implementation of the technology. The demo showcases gas combustion that is resulting into real-time simulation of fire and smoke in the air. According to the tech-giant, the simulation is based on an adaptive sparse voxel grid, which allows it to focus compute and memory resources around regions of interest as well as track shifts over time.
Here are the fundamental technical details explaining how the GameWorks Flow works:
“NVIDIA Flow is a realtime fluid simulation – in this demo, simulating fire and smoke. The simulation is based on an adaptive sparse voxel grid, allowing the simulation to focus compute and memory resources around regions of interest, and track shifts in the region of interest over time.
With the fire, the combustion process is simulated per voxel, generating elevated temperatures and smoke, which influences the visual appearance and produces buoyancy and expansion effects on the fluid simulation.
An adaptive sparse voxel grid is also used to compute self-shadowing on the smoke, increasing both the realism and visualizing the structure of the smoke. The fluid simulation supports real time collision with objects in the environment, along with fuel emitters than can be modified in real time, making the simulation fully interactive.”
If you are interested, NVIDIA Flow 1.0 is available via Github repository through the company's Registered Developers Program. The Flow library, according to NVIDIA, provides DirectX 11 and Direct X12 implementations, and will run on any recent DirectX 11 or Direct X12-capable GPU.