1. [AI](/topics/ai/)
2. 
[XR](/xr)
3. 
VRWorks

# VRWorks for Graphics

VRWorks™ is a suite of APIs and libraries that improve graphics and performance for VR applications, built for application developers and headset manufacturers.

Find tutorials, samples, videos, and more:

[Explore Resources](#samples)

Key Topics:

- 
Virtual Reality
- 
Augmented Reality
- 
Extended Reality

[![VR Simulation](https://developer.download.nvidia.com/images/vrworks/katana-demo-ari.jpg)](https://developer.download.nvidia.com/images/vrworks/katana-demo-ari.jpg)

Click Image to Enlarge  
_Katana_

## Key Graphics Features of VRWorks 

VRWorks enables a new level of presence by delivering physically realistic visuals, haptics, and simulated environments in virtual reality. This suite of APIs and libraries enhances advanced VR performance for both application developers and headset manufacturers.  
  
For application developers, VRWorks increases rendering efficiency and image quality with features like [Variable Rate Shading](/vrworks/graphics/variablerateshading) (VRS), Variable Rate Super Sampling (VRSS), and [Multi-View Rendering](https://developer.nvidia.com/vrworks/graphics/multiview) (MVR) for wide FOV displays. It also unlocks maximum performance through multi-GPU capabilities through VR-SLI and Vulkan XR support.  
  
For HMD manufacturers, it provides optimized, plug-and-play hardware support through a collection of APIs. Key features include Direct Mode to reduce latency and Display Stream Compression (DSC) to support next-generation, high-resolution HMDs.   
  
These tools offer easy integration and extensive support for multiple graphics APIs, enabling the delivery of superior, more performant, and responsive VR experiences.

## VRWorks for Graphics: Samples &amp; Technologies  

For App Developers

### Variable Rate Shading

[Variable Rate Shading](https://developer.nvidia.com/vrworks/graphics/variablerateshading) enhances rendering performance and quality by varying processing for predefined and dynamic image areas. This technique applies single-pixel shading to pixel blocks, enabling applications to adjust shading rates in different areas of the screen. VRS can also be coupled with eye-tracking to maximize quality in the foveated region.

[Download OpenGL](https://github.com/nvpro-samples/gl_vrs)

[Download VLKN](/downloads/vrworks/secure/3.6.2/public_3.6_06112024.zip)

For App Developers

### Variable Rate Super Sampling

[Variable Rate Super Sampling](https://developer.nvidia.com/blog/delivering-dynamic-foveated-rendering-with-nvidia-vrss-2/) (VRSS) improves VR image quality by sampling fixed foveated HMD display regions at higher shading rates. It integrates eye-tracking to dynamically change the foveated region based on user gaze. VRSS is a zero-coding solution, managed directly by the NVIDIA driver, with users simply activating it in the NVIDIA Control Panel. HMD manufacturers can integrate their eye tracking run-time to leverage VRSS.

[Request Access](mailto:VrSupport@nvidia.com)

For App Developers

### VR-SLI

[VR-SLI](https://developer.nvidia.com/vrworks/graphics/vrsli) increases VR application performance by allowing multiple GPUs to be assigned per eye to accelerate stereo rendering. With the GPU affinity API, VR-SLI allows scaling for systems with more than two GPUs. VR-SLI supports OpenGL and now Vulkan VR applications.

[Download OpenGL](https://github.com/nvpro-samples/gl_multicast)

[Download VLKN](https://github.com/nvpro-samples/xr_multi_gpu)

For App Developers

### Vulkan XR Multi-GPU 

XR workloads consist of multiple independent views distributed across multiple physical devices. For frame presentation, these individual views are transferred to the main physical device before presented to the XR runtime, e.g., OpenXR.  
  
With the Vulkan API, developers synchronize rendering with device-to-device image transfers and communication, especially for XR – to not introduce unnecessary stalls and latency. Vulkan offers an execution model and resource synchronization techniques to achieve this in multiple ways.

[Download XR Multi GPU on GitHub](https://github.com/nvpro-samples/xr_multi_gpu)

[Bonanza Tool on GitHub](https://github.com/nvpro-samples/gpu_bandwidth_bonanza)

For App Developers

### Multi-view Rendering

[Multi-View Rendering (MVR)](https://developer.nvidia.com/vrworks/graphics/multiview) renders up to four projections, powering canted (non-coplanar) HMD displays for extremely wide fields of view and novel display configurations. MVR, introduced with NVIDIA’s Turing architecture, expanded Single Pass Stereo to four views. These four views, processed in a single render pass, are position-independent and can shift along any axis in projective space.

[Download OpenGL on GitHub](https://github.com/nvpro-samples/gl_multi_view_rendering)

[Download DX 11/12 and VLKN](https://developer.nvidia.com/downloads/vrworks/secure/3.6.2/public_3.6_06112024.zip)

For HMD Manufacturers

### Direct Mode

[Direct Mode](https://developer.nvidia.com/vrworks-hmd-developer-program) enables plug-n-play compatibility for VR headsets, where the NVIDIA driver treats the HMD as a special display solely for VR applications. Direct Mode reduces latency and utilizes Context Priority for fine-grained control over GPU scheduling. It leverages late latch and asynchronous time warp to improve FPS and further reduce latency.

[Join Now](/vrworks-hmd-developer-program)

For HMD Manufacturers

### Display Stream Compression

As HMD resolutions increase, so do bandwidth requirements. [Display Stream Compression](https://developer.nvidia.com/blog/DSC-higher-fidelity-vr/) (DSC) provides bandwidth reduction, supporting compression ratios up to 3:1. DSC was developed as an industry-wide standard for video interfaces. It features extremely low latency and visually lossless compression.

[Join Now](/vrworks-hmd-developer-program)

## Ready to get started developing with VRWorks?

[Get Started With VRWorks](#samples)


