14 May 2020 16:33
Epic's reveal of Unreal Engine 5 running in real-time on PlayStation 5 delivered one of the seismic news events of the year and our first real 'taste' of the future of gaming. A true generational leap in terms of sheer density of detail, alongside the complete elimination of LOD pop-in, UE5 adopts a radical approach to processing geometry in combination with advanced global illumination technology. Core to the innovation in Unreal Engine 5 is the system dubbed Nanite, the micro-polygon renderer that delivers the unprecedented detail seen in the tech demo. Higher detail does not have to be filled in with a baked out normal map - the previous way game models were made. Key Epic Games staff members helped to further our understanding of the technology by answering a few key questions.
Manage cookie settings What makes Unreal Engine 5's micro-polygon renderer 'next-gen' - Digital Foundry clues you in. "With Nanite, we don't have to bake normal maps from a high-resolution model to a low-resolution game asset; we can import the high-resolution model directly in the engine. Unreal Engine supports Virtual Texturing, which means we can texture our models with many 8K textures without overloading the GPU." Jerome Platteaux, Epic's special projects art director, told Digital Foundry. Ultimately, this micropolygon method makes a large difference to asset creation as level of detail versions of models and normal maps no longer have to be authored, saving time, memory, and even draw calls for the various versions - though the cost of the very large models in memory to offset this remains unknown. Also key to Nanite's impressive fidelity is how micro-detail is shadowed - essential in grounding everything in the game world and key to achieving a realistic presentation.
We were also really curious about exactly how geometry is processed, whether Nanite uses a fully software-based raw compute approach (which would work well across all systems, including PC GPUs that aren't certified with the full DirectX 12 Ultimate) or whether Epic taps into the power of mesh shaders, or primitive shaders as Sony describes them for PlayStation 5. Manage cookie settings Here's Epic's official 'Lumen in the Land of Nanite' technology trailer, running in real-time on PlayStation 5 hardware. The other fundamental technology that debuts in the Unreal Engine 5 technology demo is Lumen - Epic's answer to one of the holy grails of rendering: real-time dynamic global illumination. Lumen is essentially a non-triangle ray tracing based version of bounced lighting - which basically distributes light around the scene after the first hit of lighting. So, in the demo, the sun hits a surface like a rock, informing how it should be shaded, with light bouncing from the rock, affected by its colour. The demo delivers radical transformations of scene lighting in real-time - and there's even a short section in the video dedicated to showing the effect turned on and off. Most games approximate global illumination by pre-calculating it through a system called light maps, generated offline and essentially 'baked' into the scene via textures. The lighting is essentially attached to the surface of the objects in the game scene. 4A Games' Metro Exodus offers up a potential solution to this with hardware accelerated ray tracing used to generate dynamic global illumination, but the cost is significant - as is the case with many RT solutions. Lumen is a 'lighter' real-time alternative to offline light map global illumination that uses a combination of tracing techniques for the final image. Lumen provides multiple bounces of indirect lighting for sunlight and in the demo, the same effect is seen from the main character's flashlight. "Lumen uses ray tracing to solve indirect lighting, but not triangle ray tracing," explains Daniel Wright, technical director of graphics at Epic. To achieve fully dynamic real-time GI, Lumen has a specific hierarchy. "Lumen uses a combination of different techniques to efficiently trace rays," continues Wright. Lumen uses a combination of techniques then: to cover bounce lighting from larger objects and surfaces, it does not trace triangles, but uses voxels instead, which are boxy representations of the scene's geometry. For medium-sized objects Lumen then traces against signed distance fields which are best described as another slightly simplified version of the scene geometry. And finally, the smallest details in the scene are traced in screen-space, much like the screen-space global illumination we saw demoed in Gears of War 5 on Xbox Series X. By utilising varying levels of detail for object size and utilising screen-space information for the most complex smaller detail, Lumen saves on GPU time when compared to hardware triangle ray tracing. Another crucial technique in maintaining performance is through the use of temporal accumulation, where mapping the movement of light bounces occurs over time, from frame to frame to frame. The developers mention 'infinite bounces' - reminiscent of surface caching - a way to store light on geometry over time with a sort of feedback loop. Lumen is fascinating and the quality of the results speak for themselves and similar to Nanite, what we like about the presentation of these technologies in the tech demo is their authenticity. The firm has been transparent about how it achieves its results, went straight to real-time rendering with its engine reveal (no 'in-engine' chicanery) and has been open about performance and limitations. Let's remember the fundamental nature of Unreal Engine: it's a versatile toolbox designed for developers to deliver virtually any type of game. The latter point suggests that there's still a lot of engineering work in the offing, but in the short term at least, Brian Karis says that further details on Lumen, Nanite and the creation of the tech demo will arrive shortly - and we can't wait to find out more. The demo presents developers with new ways to achieve effects we're already familiar with. It might be an amazing technical achievement to produce the lighting conditions in the Unreal Engine 5 demo, but from a player experience perspective it's a small thing that I probably won't notice in the middle of a platforming sequence. The end of the Unreal Engine 5 demo almost demonstrates why. One of the most impressive features debuting with Epic Games' Unreal Engine 5 is Nanite, which enables developers to bring incredibly high-quality assets into games and not worry about polygon budgets or LODs. The footage showed off assets so detailed they're designed for film CG, all running in real-time in the demo without a major hit to performance. Though Wihlidal didn't go into specifics, he did confirm that Epic is very much aware of that concern, noting that the tech is designed to create games not static demos. Can't share technical details at this time, but this tech is meant to ship games not tech demos, so download sizes are also something we care very much about. It's also worth keeping in mind that not every Unreal Engine 5 game will make use of that tech.