Nvidia first introduced its GameWorks Flow technology about a year back, alongside the GameWorks SDK 3.1. At the time the Flow library was classified as an 'experimental beta' feature. Later in the year version 1.0 became available, and it is soon to be integrated into the UE4 engine (sometime in Q2 2017).
Flow's key feature is its fast facilitation of realistic looking combustible fluid, fire, and / or smoke in your game development. Yesterday Nvidia published a new video showcasing GameWorks Flow technology in action under DX12. Perhaps Nvidia wants to inspire implementations of Flow, as it is soon to become available to UE4 devs.
In the video below you can see a DX12 implementation of Flow. The camera moves within some kind of satanic metallurgical mill with frequent bursts of gas combustion and the resultant smoke in the air. Later a large metallic block is moved along the 'production line', crossing the path and getting in the way of one of the unhealthy looking combustion bursts. In addition to the fire and smoke, you see the metallic monolith impacted by the ignition blast and featuring complex surface reflections.
So how does Nvidia Flow work? It is explained as follows:
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.
Nvidia says that the Flow library provides DX11 and DX12 implementations, and will run on any recent DX11 or DX12-capable GPU.