Increasing Realism for an Elite Gaming Experience

Thursday 4/25/19 09:00am
Posted By Todd LeMoine
  • Up0
  • Down0

Snapdragon and Qualcomm branded products are products of
Qualcomm Technologies, Inc. and/or its subsidiaries.

Qualcomm Technologies, Inc. recently announced the Snapdragon® 855 mobile platform, which includes support for a number of performance improvements over the Snapdragon® 845 mobile platform. On top of this, Snapdragon® Elite Gaming was unveiled, centered around the Snapdragon 855 as the engine for premium mobile gaming. Devices with Snapdragon Elite Gaming are designed to support cinema-quality graphics, powerful audio, smooth play, and near-instant responses — all of the advantages to help you deliver truly immersive and next-level gaming.

With the Game Developers Conference 2019 now wrapped up, we thought we'd look at what the Snapdragon 855 and Snapdragon Elite Gaming means for game developers. Specifically, developers can use the following three features to support an increase in realism in their gaming experiences:

  • Physics Based Rendering (PBR)
  • True HDR
  • Tensor Acceleration

Let's take a closer look at each.

Physics Based Rendering

The Qualcomm® Adreno™ 640 GPU found on the Snapdragon 855 has an increase in rendering performance of up to 20% over the Adreno 630 GPU found in the Snapdragon 845. And while that's an impressive number, what this means for developers is the opportunity to increase visual realism in new and interesting ways. One of the ways cited by Snapdragon Elite Gaming is the potential to finally bring PBR to mobile gaming, a technique often used in console and PC games.

If you're new to PBR, the idea is really quite simple: model real-world lighting physics in real time to replicate how light reflects off of different objects and materials. From an implementation perspective, this requires a combination of physically accurate lighting, shading, and carefully crafted art content that is calibrated accordingly. Note that in practice, PBR is an approximation and not necessarily an exact replica of real-world light phenomena, hence the term "physics-based". However, this can make for some stunning results as seen in this PB Shading Tutorial from Unity.

PBR subscribes to the idea that all materials reflect light to some degree. PBR techniques therefore model physical properties of materials and lights such as: microfacets, diffusion and reflection, translucency and transparency, energy conservation (the degree of reflection), metallic/conductor properties, and Fresnel (how object angles affect reflection).

Figure 1 - Example of light reflecting and diffusing off an object.

The good news for game developers is that PBR is an approach rather than a new set of hardware features to learn. If you're familiar with shader languages, then you already have a strong foundation to start implementing PBR, as PBR calculations are usually done in shaders. Of course, this also means you will need to learn about the physics of light, update art asset pipelines to support PBR-based assets, while providing artists with tools to adjust aspects of lighting and implement complex lighting shader algorithms.

That said, artists will also bear a big responsibility, as they too will need to understand the physics of lighting, how to construct materials, learn new tools and pipelines, and learn how to adjust reflectivity. Material reference charts, such as that shown below, can help them tweak parameters for different material and lighting types:

The benefits of PBR are that it removes the need for artists to iterate on textures when the lighting is changing, since this is being calculated in real time. Then they can play with real-life lighting values in order to get more control over the result.

Developers can start by using the Adreno GPU SDK for rendering on Snapdragon mobile platforms which supports both OpenGL and Vulkan. For additional information about rendering and shaders on Snapdragon platforms, check out the Adreno Vulkan and OpenGL ES Developer Guides.

True HDR

High Dynamic Range (HDR) is a technology that seeks to provide high quality contrast and brightness levels along with a wide colour palette. Because our eyes perceive brighter whites and darker darks along with more colors than traditional displays could produce, something was needed to improve this disparity. The result was the HDR10 standard, and now HDR10+.

Snapdragon 855 supports HDR10+, which is an open standard that further improves upon HDR10 for today's ultra hi-definition displays. One of the key aspects of HDR10+ is that it uses dynamic metadata instead of the static data used in HDR10. This means a device can dynamically alter the brightness of scenes and even individual frames. For example, HDR10+ can drop brightness level in real time to match the artist's intentions of a dark scene.

Another key aspect of HDR10+ is the increased color gamut defined by Rec. 2020. Rec. 2020 specifies a bit depth of 10-bits per color channel, providing billions of colors.

From a game development perspective, supporting HDR–whether HDR10 or HDR10+–requires consideration of everything from device's display screen, to the tools used to capture and create photo realistic art assets.

Hardware wise, device developers will need to ensure the device they are designing has an HDR-capable screen, along with enough storage, RAM, video RAM, and bus bandwidth to support the sheer amount of image data. Artists will need development machines equipped with HDR-capable monitors and video cards.

For game developers, achieving more realism through HDR often starts by supporting physics-based rendering. The idea is to complement the aspects of HDR standards, which provide the potential to more closely match what the human eye can perceive in the real world. In addition, approximating real-world lighting behaviors can allow for effects such as bloom to add additional realism.

Game developers, in cooperation with artists, will also need to focus on tone mapping. This maps the colors and luminance of HDR content to those of device displays, in order to replicate the intended output during final, in-game rendering.

Developers should expect to spend time updating pixel and lighting shaders, and it may be well worth the effort to create a demo scene in which both developers and artists can experiment. More specifically this scene can be used to compare source artwork to rendered output to ensure that details are not lost in really light and dark regions at different angles, and to see how effects like bloom are behaving.

The Hexagon Tensor Accelerator

Of course, rendering is not the only way to achieve realism, as advances in artificial intelligence (AI) are making games more intelligent all the time.

The Qualcomm® Hexagon™ processors are digital signal processors (DSP) that can be used to accelerate different types of operations including those required for neural networks. A key building block of a neural network is a "tensor", which is a just generalized term for a collection of numbers and associated dimensionality such as matrices (2D), vectors (1D), and even scalars (0D).

While the Hexagon 685 DSP in the Snapdragon 845 mobile platform provided acceleration for scalars and vectors, the Hexagon 690 Processor in the Snapdragon 855 mobile platform includes the new Qualcomm® Hexagon™ Tensor Accelerator (HTA) to handle collections of n dimensions. In conjunction with the new Qualcomm® Hexagon™ Vector eXtensions (HVX), this can provide a performance boost for tensor calculations (e.g., up to two times the performance of processing vectors).

Developers can take advantage of this by grabbing the latest Qualcomm® Neural Processing SDK. The SDK includes tools to support running a model on the HTA. The basic process involves converting the model to a DLC format, which is optimized to run on Snapdragon mobile platforms. During this process, the model can be partitioned into sections that will run on the HTA, while other sections can optionally run on the GPU or CPU. Note that models must be quantized to run on the HTA.

Advanced Mobile Gaming Innovations

The Snapdragon 855 mobile platform is a key element of Snapdragon Elite Gaming. On the rendering side, its support for PBR and HDR provide the potential for even more life-like visual realism in mobile games that rival that of console and PC games. And on the AI side, hardware-accelerated tensor support provides an additional mechanism for accelerating inference and creating more intelligence.

Snapdragon Elite Gaming supports these premier mobile gaming innovations and more, and we are eager to hear what our developer community will create using the Snapdragon 855 mobile platform.