Real-time ray tracing is the pinnacle achievement of realistic lighting in software rendering. Ray tracing is about achieving realistic 1:1 reflective results for mirrored imagery redirected from lights, material surfaces, and objects. It’s long been a sought after goal by most software and hardware engineers to eventually make ray tracing a standard lighting solution in real-time software. Well, now it’s becoming a standard function in game engines and GPU solutions. Crytek’s new Neon Noir demo illustrates the Total Illumination software solution that not only works with Nvidia cards but is also capable of running in real-time on AMD hardware without requiring the proprietary RTX technology.
The demo was rolled out via a video that Crytek uploaded on March 15th, 2019. The video features a few panning sequences and fly-by shots of a police drone surveying a crime scene. The scenario looks eerily similar to the cyberpunk setting in the iconic Unreal Engine 3 demo known as The Samaritan.
During the fly through we get to see some fairly cool depictions of the CryEngine’s ability to render ray-tracing in real-time in a bespoke version of CryEngine 5.5 running on an AMD Vega 56 GPU.
During the initial tilt into the scene, we see certain sections of physically based rendering, where various blue, red, and green light sources are reflecting off the surfaces. This is to show that Crytek’s ray-tracing works in tandem with existing PBR solutions.
We also get to see that you can use the ray-tracing with different light densities across both static and moving surfaces. A good example of this are the dark windows with droplets of rain running down the pane, with blurred but distinct reflections of the city in the pane. The reflective propensity is based on the opaqueness of the surface, which gives the reflection a more dithered look than when it’s depicted on a clearer, cleaner, lighter surface.
We can see that in many cases the image reflections are not perfectly symmetrical. The refractive properties of the surfaces will bend and distort the light according to as realistic as possible calculations of these light sources.
The solution works on more than just windows and shiny surfaces, though, we can also see how puddles attempt to accurately calculate lifelike reflections on wet surfaces, as well as proper distortions through fractured entities like broken mirrors, cracked glass, and even rotating and moving surfaces.
One of the things I found interesting is that they’ve managed to reduce any kind of recursion effects on multiple surfaces with reflective properties.
For instance, at the 1:32 mark we see that there are bullet casing on the ground in a puddle of water. The water reflects the casings, and the casings reflect the nearby physically rendered light sources but the casings do not reflect the puddles on their surface, thus culling any recursion. So basically it avoids the infinite mirror effect.
That’s some impressive technology, as it allows you to mix and match different kinds of reflective surfaces without them disrupting the immersion by rendering uncanny effects.
What’s even more impressive is that Crytek disabled the native screen-space reflections in order to showcase the full breadth of their ray-tracing capabilities within the CryEngine.
According to Crytek, this solution will work with most mainstream new generation GPUs both from AMD and Nvidia, mentioning in the press release…
“Neon Noir was developed on a bespoke version of CRYENGINE 5.5., and the experimental ray tracing feature based on CRYENGINE’s Total Illumination used to create the demo is both API and hardware agnostic, enabling ray tracing to run on most mainstream, contemporary AMD and NVIDIA GPUs. However, the future integration of this new CRYENGINE technology will be optimized to benefit from performance enhancements delivered by the latest generation of graphics cards and supported APIs like Vulkan and DX12.”
Crytek doesn’t mention exactly when this new technology will be widely available but expect to see more of it demonstrated at this year’s Game Developers Conference in San Francisco, California.
This kind of solution will reduce the need to pre-bake reflections into certain surfaces, or rely on cube maps, or other clunky workarounds to create realistic looking world reflections within the environment. Technically, this could help save a lot of development time for lighting artists and engineers, as well as reduce the amount of rendering objects required to bring a scene to life.
CryEngine is currently free to download, with the ray-tracing feature set to make its debut later into 2019. You can learn more about the Total Illumination suite from Crytek by visiting the official CryEngine website.