The Order: 1886 is definitely a game designed to impress graphically, and it’s almost surprising that a developer like Ready at Dawn, which comes from PSP development, managed to achieve this kind of fidelity using tools made in-house. One of the men behind that feat is Graphics and Engine Programmer Matt Pettineo, who is also well known for his lectures at Siggraph and GDC.
Recently Pettineo gave some more details about the game’s tech and visual solutions, and we learn that the film grain effect that gives the game its peculiar feel isn’t just a style choice, but it also helps with much more practical problems:
Yeah it works well for our aesthetic, and helps break up aliasing/banding.
While pretty much everyone knows what aliasing is, banding is more subtle but equally disturbing. It’s the optical effect that causes us to perceive separate bands of color within a gradient.
Speaking of filming presentation, Pettineo shared that the team has been using “log2” for exposure settings. “log2” indicates a base-2 logarithmic scale used in photography defined by Sydney Ray a few years ago following the equation below (from wikipedia):
EV is the exposure value, N is the relative aperture and t is the exposure time.
Finally, we learn some more about the extremely impressive handling of lighting on materials, which is one of the most recognizable aspects of The Order: 1886‘s graphics.
We don’t importance sample, we have a compute shader that integrates over every cubemap texel within a given hemisphere.
Importance sampling is a technique that facilitates efficient rendering of environments with complex illumination. In order to calculate lighting, its functions are evaluated in random points to produce the estimate of an integral. Using a large number of sample points leads to very precise results, but it’s also computationally expensive. Using a low number of sample points leads to visual noise within the image. Importance sampling assigns more sample points (or importance) to areas with more light, leading to a good result with less performance impact.
That’s a very widespread technique (with a large number of variations used by different developers), but apparently Ready at Dawn lets a compute shader working on the GPU of the PS4 handle the workload, removing the need to approximate with importance sampling. A texel is the fundamental unit of a texture. Pretty much the equivalent of pixels, which are the fundamental units of a picture.
One thing is for sure: it’s amazing to see what Ready at Dawn is managing to achieve with the PS4 in terms of visual fidelity, and we’re not even past the first year of this generation.