Achieving photorealistic 3D graphics has been a holy grail ever since computers displayed the first pixel on a screen. Unreal Engine 5 would appear to have made a gigantic leap towards achieving it.
If you grew up in the 80’s or before and you were interested in computers, you would most likely have had experience of both the ZX80 and the ZX81. By today’s standards these were pretty woeful machines. Even when they were new they were a pain to deal with. It was quite possible to go on a bike ride while a game was being loaded from tape, only to find that after you got back the machine had crashed and you’d have to start all over again.
These machines did usher in a new generation of computer programmers though, and it was the start of a revolution, that at its height allowed a person in their bedroom to release a worldwide gaming hit.
Amazingly, the ZX81 had a ‘flight simulator’ available for it, but it left more to your imagination than it could actually show! But as computers advanced, so did the realtime graphics capabilities. However, what could be considered true realtime ‘photorealism’ has eluded even the best computers, until now.
One of the reasons why truly photo real 3D graphics is difficult is down to polygons. Every object you see on screen is made from lots of triangles. These polygons make up the mesh of the object, describing both its shape and surface area. Various methods have been developed over time to smooth over the joins between polygons in an attempt to make objects look more realistic. One of the biggest developments to happen in gaming graphics was realtime Gouraud or Phong shading along with texture mapping. But the limitation on the amount of polygons that could be calculated at any given time was always there. Other methods were also tried, such as voxels, which are effectively 3D pixels.
Voxels looked quite promising, but never really caught on for games production beyond a handful of titles such as 1992’s Comanche. At the time this game represented a step change in the realism of 3D, but voxels were limited in a similar way to normal pixels in that you could only go so close to objects before they became highly pixelised. The clear solution is to make objects from more voxels, but that requires more computing power. However the new Unreal Engine may have brought the core idea of the voxel back to the fore, as you’ll see.
Unreal Engine 5 Nanite system
These days hardware is infinitely more powerful than it ever was previously, and one of the big selling points of Unreal Engine 5, and the reason why the demos look so astounding, is because of its Nanite system.
Nanite is what Unreal Engine is calling a “virtualised micropolygon geometry”. According to the company, film quality source art consisting of hundreds of millions or billions of polygons can be imported into the system and ‘just work’. The company goes on to say “Nanite geometry is streamed and scaled in real time so there are no more polygon count budgets, polygon memory budgets, or draw count budgets; there is no need to bake details to normal maps or manually author LODs; and there is no loss in quality”. Unreal Engine calls this “virtualised geometry”.
This is a monumental development. Effectively what Nanite is doing is producing polygons at the pixel level. An illustration of this power can be seen in the recently released demo running on the Playstation 5 called “Lumen in the Land of Nanite”. One section shows a statue, which is made from 33 million triangles. But what’s more incredible is that the demo then shows a room consisting of 500 separate models of that same statue, with no frame rate hit. Even more impressive is that shadows are calculated for each one of those micropolygons as well, meaning that much of the realism is created even before the 8K textures have been applied.
Hang on, objects made from polygons at almost pixel level? Sound familiar? In effect this is like voxels on steroids. But because the objects are made from millions of polygons there’s no loss of fidelity as you go up close to the objects.
But it isn’t just sheer modelling detail that it is capable of that impresses. As any serious user of a camera knows, light is incredibly important. Unreal Engine 5 features system called Lumen, and when it’s combined with the sheer modelling detail that Nanite is capable of that it truly blows the mind.
Lumen negates the need for light map bake ins, which not only saves a huge amount of time, but it makes for much, much more realistic visuals. Everything from bounced light, diffuse interreflection with infinite bounces, and indirect specular reflections. This can all be handled in both small environments, as well as huge landscapes spanning many miles.
Such flexibility allows games designers to, for example, implement realtime sunlight changes, or for light to stream in through a hole in a ceiling. The Unreal Engine 5 demo also included some details that weren’t mentioned explicitly. When the female character looks up to the top of a cavern as the light streams in, there’s even some chromatic aberration thrown in on some of the edges. This wouldn’t happen if you were in a real environment, but it speaks to the cinematic thinking going on here.
Film and television production, and beyond
Already Unreal Engine 4 is used for video and film production, one of the most notable productions being The Mandalorian, which used virtual sets extensively. This type of application of the system allows filmmakers to change any aspect of the set in realtime, matching the real camera moves precisely every time. Best of all is that this doesn’t need to be a form of green screen system. Instead actors can see their virtual environment and get a sense for what it is like, thereby helping their performances.
When it comes to applications outside of pure entertainment, it’s easy to see the new engine becoming more important in augmented reality applications, architecture visualisation, much more than it was before.
Unreal Engine 4 had already surpassed the point at which realtime visuals were better than pre-rendered animations of the past. Now version 5 takes things a whole generation further, and it will be incredible to see what it can do as computing power continues to get better and better.
Unreal Engine 5 will be available in 2021.