General Rendering Considerations

Support an Expanded View with Surround

For optimal support of Surround resolutions in landscape mode, it’s important to expand the field of view to allow for more of the rendered scene to be displayed. When this is done correctly, the result is known as Horizontal+, which means that Surround resolutions result in an expanded horizontal viewport into the rendered scene, with more of the scene visible than was previously visible without Surround modes (Figures 13 and 14).

Figure 13. Standard 16:10 resolution

Figure 14. Surround resolution, game renders Horizontal+

However, when a game does not increase the field of view based on the increased aspect ratio of Surround landscape modes (despite even having correctly enumerated and created a device at a Surround resolution) the game usually compensates by either zooming in on or stretching the rendered image, both of which are undesirable and should ideally be avoided.

Games which zoom in on the scene to compensate for lack of field of view when filling in the expanded resolution are known as a Vertical- (Figure 15). In lieu of adding horizontal visibility, these games sacrifice vertical visibility in order to display the scene at the correct aspect ratio for the selected Surround resolution. In a 1x3 Surround landscape configuration, the result of Vertical- rendering is a zoomed-in perspective, where the top and bottom of the rendered scene have effectively been cropped by the edges of the monitor. In this case, not only is there no new horizontal visibility, there is also less vertical visibility than in standard single display configurations.

Figure 15. Surround resolution, game renders Vertical-

Games that render stretched in Surround landscape modes tend to render at a lower resolution than the device is created at, and then stretch the image in the horizontal Surround-expanded dimension. The result is an image that is forced to cover all pixels of all of the displays, but is also distorted, in some cases greatly (Figure 16).

Figure 16. Surround resolution, game renders stretched

To avoid rendering Vertical- or stretching, utilizing either of the following solutions is recommended:

Supporting Screen-Space Rendering Effects

In some games, screen-space rendering is used for rendering effects on top of the 3D scene. It is important to make sure that these effects work properly in Surround configurations by making sure that they are not limited to the primary display.

For example, sometimes when games render screen-space effects such as glows or bloom over the scene in Surround configurations, they will not correctly expand the effects onto the outside displays, leading to cases where certain objects are rendered on the outside displays, but their accompanying glow or bloom effects are still rendered somewhere within the center display.

Similarly, screen-space effects are often used for situations where the user's view into a scene is intentionally occluded in some way. A common use of this kind of effect is seen when zooming into a sniper/scoped mode with a weapon in a game, simulating the limited view one sees when looking through a real weapon scope. For this effect, usually only part of the scene is visible on a particular part of the display. However in Surround configurations, sometimes games will only occlude the proper parts of the center display, and not occlude the outside displays properly. This both negatively impacts immersion and gives an unfair advantage to some users.

To avoid these problems, it is important to make sure that when screen-space effects are used, they are correctly expanded across all Surround displays by making sure that the effect is taking the active resolution size into account, and not artificially limiting the effect to some pre-defined size or space.

Additionally, it is important to make sure that screen space rendering effects are not linked to assumptions about resolutions. For example, if a pixel shader relies on doing integer math with an even value resolution (like 6010x1080) and a user has an odd value resolution (like 6011x1080), the effect that the pixel shader is used for may break.

 

 


NVIDIA® GameWorks™ Documentation Rev. 1.0.200608 ©2014-2020. NVIDIA Corporation. All Rights Reserved.