Andras Ketzer's FluidNinja VFX toolset gives us a taste of the insane fog the horizon with next-gen games
While browsing Twitter, I came across a Tweet showcasing this incredible Unreal Engine 4 dry ice lighting demo that blew my mind. The effect is made possible by something called ray-marching, a volumetric rendering technique that basically injects 2D data into 3D spaces. It's not ray tracing, though; ray tracing only does surfaces. Ray marching essentially passes through the surface data, and is described as the "big brother" of ray tracing. Ray marching is pretty complicated, but here's a nice breakdown.
The cauldron demo was made with an NVIDIA GTX 1070 and runs at 182FPS in 1080p resolution, but it's not exactly 3D geometry. It was made using FluidNinja VFX, which allows real-time fluid simulations in UE4. The demo isn't actually three-dimensional: It's a 2D flipbook that simulates 3D visuals by using shadows and depth tricks. The result is brilliantly radiant and swirling fog that looks right out of a high-end next-gen game.
The demo uses three lighting techniques: dynamic lighting and static lighting from above and below. It also uses parallax occlusion mapping (POM) to add 3D visuals from the textures.
"Ray marching (RM) could be used to shade 2D simulation data dynamically (every frame) by sampling a density map from the direction of a light vector. The result is gorgeous self-shadowing, in sync with a local or global source of light in the 3D scene," reads a ray marching PDF written by Ketzer.
I'm curious if this is the kind of thing we'll see in next-gen PlayStation 5 and Xbox Series X games at some point.