Guerrilla Games' Horizon Zero Dawn not only raised the bar in terms of technical accomplishment on current generation console hardware, it handed in the best 4K HDR presentation we've seen from any PlayStation 4 Pro title. The native 1080p output on base hardware scales up to 2160p on Pro, using a custom implementation of checkerboard rendering, but Horizon's presentation is so clean, so solid, so convincing, it passes for the 'real thing' - so how was this achieved?
A while back, Digital Foundry spent the day with Guerrilla Games in Amsterdam, discussing the technological make-up of the game, our visit kicking off with an in-depth talk with principal tech engineer Giliam de Carpentier on how the studio got to grips with the PlayStation 4 Pro hardware.
Article Continues Below
"Well, let's start at our regular 1080p year rendering - we have a strong focus on anti-aliasing so whatever technique we wanted to use for having 4K rendering also needed to be at that same quality," says de Carpentier. "And obviously the PS4 Pro is a lot more powerful than the standard PS4, but rendering natively would have been too much to ask, perhaps."
Pro and HDR support was integrated into Horizon relatively late into the game's six-year development, and Guerrilla experimented with several higher resolution strategies, trying them out side-by-side before settling on 2160p checkerboard. In terms of native rendering, the team gave 1500p a shot, but weren't fully satisfied with the results. And to be clear, checkerboarding in the case of Horizon involves rendering half of the pixels for the full 2160p frame, the other half resolving via reprojection from the previous frame - a process that Giliam says provides a "native resolution detail level", if not quite the sharpness. However, every natively rendered pixel - be it 1080p on base PS4 or checkerboard 2160p on Pro - also benefits from 4x temporal super-sampling.
"We concluded for us [that] it made sense to go for the method of rendering that gave us the most detail - because interestingly enough even though you only render 50 per cent of the pixels on each frame, after two frames you do get the detail level, though not per se the same sharpness as [native] 4K," explains de Carpentier. "There are maybe ways to also do that but we focus mainly on the detail, so compared to maybe a really rough or a really clean 4K native rendering of a CG scene I guess our game doesn't have that same crispness, but then again if you look at a typical 4K movie it doesn't have that crispness either. If you look at the edge-lines they are typically like two or three pixels thick."
Article Continues Below
So how do you differentiate sharpness versus detail? Well, checkerboard or not, running at 2160p helps to ensure that higher mip level textures are streamed in - something that's not necessarily the case when operating at a lower native resolution. Also, consider that pixels imported and reprojected from the previous frame are subject to the same 4x temporal super-sampling as those in the current frame. Horizon retains detail and crucially, via this treatment, it does so all the way into the distance.
"For our anti-aliasing we prefer to use four samples per pixel, we also do that at 1080p," explains Giliam. "That's because all of our vegetation is alpha tested. Individual leaves of grass can be less than half a pixel wide, so you get all sort of jittery artefacts in the distance that can be annoying to work with. We figured out with 1080p that four samples per pixel - four times super-sampling - is the minimum. We also use two frames of sequential animation for anti-aliasing in 1080p which is just a variation of temporal reprojection."
The balance in terms of detail vs sharpness adjusts a touch when you compare the PS4 and Pro versions of the game. The base PlayStation 4 runs Horizon at native resolution with 4x super-sampling, so that 1:1 pixel map produces an arguably sharper image than Pro. However, checkerboarding to 2160p on the more powerful console trades a little sharpness, but offers a big, big win in terms of detail.
"It's a bit of a quality/quantity trade-off you can make," muses de Carpentier, "[You could have] 1800p checkerboard rendering in our case at least, with more whistles and bells attached to it, so you could have more sharpness in those 1800p checkerboard pixels versus a little less sharpness in 2160p checkerboard - but you do have 2160p so you do have that little extra detail in the geometry and the textures."
A good example of how additional detail feeds into the Pro version game comes from anisotropic filtering. Our initial analysis suggested that textures benefitted from higher levels of AF, but this is not actually the case. At 2160p - checkerboard or not - more texture is sampled, meaning that the same texture filtering produces far more detailed results.