NVIDIA Shows Off Advanced DirectX 12 Features, Ray Tracing, Volume Tiled Resources
NVIDIA had a good presence at Computex this year, showing off their own G-Sync over HDMI demo as well as giving us the GTX 980Ti. They were also apt to show off some advanced DirectX 12 features that can be leveraged for spectacular looking graphics for the next generation.
NVIDIA showed off real-time ray traced shadows, and the use of volume tiled resources to create realistic fog and other fluid effects.
NVIDIA developed the Mech Ti tech demo to show some of the more interesting features of DirectX 12, notably the use of ray tracing to generate shadows and how to use volumetric tiled resources for realistic fluid rendering. The demo at Computex was running on a single 980 Ti. These great features have been showcased before, though not with a cool looking mech like this.
Shadows have historically used many different methods to get their results, generally combinations of shadow maps in some way combined with per-pixel rendering and HBAO+ to give a somewhat belivable shadow architecture. Those methods are very computationally intensive and enabling advanced shadows can have quite the performance hit. They also don't necessarily look very good depending on the resolution of the shadow map and the type of computation used to lay the shadow map down.
Ray tracing in DirectX 12 should help enable believable shot shadows by imitating the natural effect on light and shading the individual pixels themselves behind the object as opposed to trying to map the shadow based on each polygon. The result can be a much smoother and more natural looking shadow. They use conservative rasterization combined with deep primitive mapping to achieve this effect. And it looks rather spectacular, actually.
Volume tiled resource and sparse fluid simulation are the next technologies shown off, something used to help simulate more lifelike and even interactive smoke. With this each texture now has a third dimension that can be added to it, and it's this information that can be used to create great looking smoke effects. Ray tracing can even help to provide a realistic lighting effect through that smoke, simulating she shimmering effect we all enjoy. This is different than the use of bump mapping to provide a 3D surface in that this each texture can have its own third dimension information. The result is lots of pretties on the screen.
Screen space reflections are not new, necessarily, but in DirectX 12 the use of raymarching reflections combined with global and localized cube maps might allow for much better looking reflections. Ray tracing can help to soften the reflection, adding a perceived depth to it so it's far more realistic looking. In the Mech Ti demo, the subtle reflections of the cockpit look quite nice, in fact.
Ray tracing is especially exciting due to how it can be leveraged to improve a variety of different effects. It can add a tremendous amount of value at potentially a very low performance cost. NVIDIA's demo was certainly quite a nice demonstration of the benefits of these new technologies and how they can be applied with DirectX 12 in the future. Having the GPU do less work but generate better results is a win for everyone.