Variable Rate Shading is a Turing feature that increases rendering performance and quality by varying the shading rate for different regions of the frame.

VRS Wrapper makes it easier for developers to integrate gaze tracking capabilities of their HMDs for foveated rendering. This solution includes convenient presets for image quality and performance, as well as support for custom configurations.

Variable Rate Supersampling (VRSS) leverages VRS to apply supersampling in the region of interest of the screen in order to increase image quality.




Variable Rate Shading




An important property of VR systems is that the optics in the lens creates a varied resolution and sample rate of the view surface. With the Maxwell and Pascal architectures, we introduced techniques such as Multi-Resolution Shading (MRS) and Lens-Matched Shading (LMS) to optimize shading workloads for VR. MRS and LMS allowed developers to split the rendering surface up into subregions and match the sampling rate to the lens in each region, rather than overshading everywhere to meet the maximum local sampling needs.

Hardware: Compatible with: VR Ready Quadro and VR Ready GeForce Turing based GPUs.
Software: Compatible with the following APIs:
DX11, DX12, OpenGL, Vulkan.

Turing introduces a new and more flexible technique to control the shading rate called Variable Rate Shading (VRS). With VRS, the shading rate can now be adjusted dynamically across the image - every 16 pixel x 16 pixel region of the screen can now have a different shading rate.

This fine level of control enables developers to deploy new algorithms that were not previously possible for optimizing shading rate and increasing image quality. In this section, we will describe the underlying hardware mechanisms of VRS, and a few of the ways developers can enable it.


Figure 1 – Turing VRS supported shading rates and example application to a game frame.

Without VRS, every pixel in the scene in Figure 1 would be shaded individually (the 1x1 blue grid case). With VRS, the pixel shading rate of triangles can vary. The developer has seven options to choose from for each 16x16 pixel region, including having one shading result be used to color four pixels (2x2), or 16 pixels (4x4), or non-square footprints like 1x2 or 2x4. The colored overlay on the right side of Figure 01 shows a possible application to a frame - the car, sky, and foliage have been shaded at full rate (i.e., blue region) to preserve fine details. The area next to the car has been shaded once per four pixels (green), and the road to the far left and right periphery has been shaded once per eight pixels (yellow).

Wwith Turing’s Variable Rate Shading technology, a scene can be shaded with a mixture of rates varying between once per visibility sample (super-sampling) and once per sixteen visibility samples. The developer can specify the shading rate spatially (via a texture). As a result, a single triangle can be shaded using multiple rates, providing the developer with fine-grained control.

Note that VRS allows the developer to control the shading rate without changing the visibility rate. The ability to decouple shading rate and visibility rate makes VRS more broadly applicable than techniques such as MRS and LMS, that lower total rendering resolution in specified regions. At the same time, VRS, MRS, and LMS can be used in combination since they are independent techniques enabled by separate hardware paths.


Increase rendering performance

Boost application performance using coarse shading

Maximize quality where it matters

Fine grained control over image quality improvements via supersampling

Unlimited configurability

Obtain the best image quality and performance for your application



Get Started with VRS (VRWorks Graphics SDK)





VRS Wrapper



VRS can be leveraged for many uses cases including applying supersampling to text and, enhancing quality on certain materials or scene regions. But one particularly beneficial use case for VR is foveated rendering. To simplify integration of foveated rendering, we developed a streamlined set of APIs that address this specific use case.

The VRS Wrapper APIs assists developers in integrating foveated rendering within their DX11 application. This implementation provides the minimum number of APIs required for integration with much of the heavy lifting done inside the NVIDIA driver. This solution includes convenient presets for performance and quality as well as support for custom configurations.

Hardware: Compatible with: VR Ready Quadro and VR Ready GeForce Turing based GPUs.

Requires an HMD with eye-tracking.
Software: Compatible with DX11 applications using forward rendering and MSAA.


VRS Wrapper consists of the following two interfaces and easy to use presets:

  • VRS Helper controls the foveated rendering parameters
  • Gaze Handler gathers and manages the eye-tracking data

Learn more about VRS Wrapper in our DevBlog Easy VRS Integration with Eye Tracking


Ease of integration

Simpler integration in DX11 using presets for regions and shading rates

Maximize quality where it matters

Fine grained control over image quality improvements via supersampling

Increase rendering performance

Boost application performance using coarse shading



Get Started with VRS Wrapper (VRWorks Graphics SDK)






Variable Rate Supersampling (VRSS)



Figure 2 – Conceptual representation of VRSS. Background image of Boneworks courtesy of Stress Level Zero


Variable Rate Supersampling (VRSS) leverages NVIDIA Variable Rate Shading (VRS), which is a key feature in NVIDIA’s Turing architecture, to apply different shading rates in different regions of the screen to increase image quality or performance.

A typical VR user puts on a standard HMD and looks at the center of the screen. Improving image quality in the center of the screen is paramount to reducing aliasing and providing a smoother immersive VR experience to the user. VRSS accomplishes this through fixed-foveated supersampling, by increasing the shading rate in the center mask region of the screen, while keeping the sampling rate unchanged in the peripheral region.

Minimum Hardware: GeForce GTX 1650 Super
Recommended Hardware: GeForce RTX 2070 Super (higher performance GPUs will provide superior image quality)
Software: Compatible with DX11 applications using forward rendering and MSAA.


The center mask region can be super-sampled up to 8x to optimize image quality. The maximum shading rate achieved is limited to the MSAA sample count per pixel, so 8x supersampling is enabled via 8x MSAA, 4x supersampling is enabled via 4x MSAA, and so forth.

VRSS can be applied to all VR games and applications that are DX11, Forward Rendered and have MSAA. The VRSS functionality resides in the NVIDIA Driver. Developers do not have to write any code to integrate VRSS; they simply submit their VR game or application to NVIDIA for testing. NVIDIA will test the VR game or application, and if it benefits from VRSS, then it will be whitelisted in the NVIDIA Driver. VRSS benefits both new and existing VR games and applications.

In order to leverage this technology, developers must submit their game or application to NVIDIA for validation and inclusion in the drivers.



Maximize quality where it matters

Up to 8X supersampling in the region of interest

No developer integration

Developers simply submit their application for review



VRSS Enabled Games

Battlewake
Boneworks
Budget Cuts 2: Mission Insolvency
Doctor Who
Eternity WarriorsTM VR
Hot Dogs, Horseshoes and Hand Grenades
In Death
Job Simulator
Killing Floor: Incursion
L.A. Noire: The VR Case Files
Lone Echo
Mercenary 2: Silicon Rising
Onward VR
Pavlov VR
PokerStars VR
Raw Data
Rec Room
Rick and Morty: Virtual Rick-ality
Robo Recall
SairentoVR
Serious Sam VR: The Last Hope
Skeet: VR Target Shooting
Space Pirate Trainer
Special Force VR: Infinity War
Spiderman: Far from Home
Spiderman: Homecoming – Virtual Reality Experience
Talos Principle VR
The Soulkeeper VR
The Walking Dead: Saints & Sinners
VRChat

Submit your application





VRS in-action



The Virtual Reality (VR) industry is in the midst of a new hardware cycle – higher resolution headsets and better optics being the key focus points for the device manufacturers.

Read More ...

Variable Rate Supersampling will improve your VR gaming, a new Freestyle Splitscreen filter will let you further customize your creations, Max Frame Rate gives you ...

Read More...

VR head-mounted displays (HMDs) continue to dramatically improve with each generation. Resolution, refresh rate, field of view, and other features bring unique challenges to the table. The NVIDIA VRWorks Graphics SDK has been offering various rendering technologies to tackle the challenges brought forth ...

Read More...

We introduced Variable Rate Shading (VRS) last year with the Turing architecture. This new, easy to implement rendering technique allows developers to vary the amount of ...

Read More...

ZeroLight’s proprietary visualisation platform is used across the automotive industry. Offering real-time product rendering, hyper-realistic visuals, our proprietary supersampling technology ...

Read More...

NVIDIA Turing GPUs enable a new, easily implemented rendering technique, Variable Rate Shading (VRS). VRS increases rendering performance and quality by applying …

Read More...




Additional Resources