SlideShare a Scribd company logo
Mark Kilgard, July 27, 2016
Virtual Reality Features of
NVIDIA GPUs
2
Mark Kilgard
Principal System Software Engineer
OpenGL driver implementation & API evolution
Other interests
Programmable shading languages, original Cg GPU shading language
Web, vector graphics & path rendering, GPU rendering for 2D graphics
Also known for creating OpenGL Utility Toolkit (GLUT)
My Background
3
GPU Challenges for Virtual Reality Rendering
1. Must render unique view for each eye
Two scene renders per frame
2. Wide field-of-view rendered
More pixels, distributed towards periphery
3. HMD lens magnifies rendered scene
Non-linear inverse lens warp
Allows the HMD lens magnification to provide
convincing sense of presence
4
Magnification Effect of HMD Lens
Graph paper viewed & magnified through HMD lens
5
Head Mounted Display Lens Effect
Barrel Distorted Images
on HMD Screen
Magnified Overlapping Wide Field-of-view
Binocular View
6
Focus on Virtual Reality Features of Pascal GPUs
Virtual Reality rendering features in Pascal GPUs
GeForce 1080/1070/1060
NEW Quadro P6000 & P5000
As exposed in standard 3D APIs
7
Background: NVIDA GPU Architecture Road Map
Our interest NVIDIA GPU architectures of interest: Pascal
What is Pascal mentioned on last slide?
8
Conventional 3D Single-eye Scene
9
Conventional 3D Single-eye Scene
10
Wide Stereo Views of Same Scene
Left Right
11
Left Right
12
Right Left
13
Left & Right Views Are
Similar but Different
Left and Right eye views have different occlusion
While left & right eye views look similar, must be draw independently
Really only different in a small translation in X
NVIDIA Single Pass Stereo supports generating left & right eye positions
GPU automatically makes left & right eye versions of each primitive
Then renders each view to a different framebuffer slice
Exposed in OpenGL by NV_stereo_view_rendering extension
Exposed for Direct3D 11 by NVAPI SinglePassStereoMode feature
14
Image Difference of Two Views
− + 0.5 =
Left eye view Right eye view
Clamped difference image
15
Left & Right Views Rendered Efficiently in One Pass
16
Lens Matched Shading
Left Right
17
Visualizing Lens Matched Shading
18
Lens Matched Shading
Left Right
19
Visualization of Lens Matched Shading Rendering
20
Still Needs Non-linear Warp
Lens Matched Shading
rendering
Warped image suitable
for HMD display
Non-linear
image
21
Still Needs Non-linear Warp
Lens Matched Shading
rendering
Warped image suitable
for HMD display
Non-linear
image
BUT substantially
less pixel motion
and distortion
than conventional
VR re-warping
22
Example HMD Post-rendering Warp
23
Lens Matched Shading
with Window Rectangle Testing
24
Lens Matched Shading
with Window Rectangle Testing
Nothing in black corners is shaded or even rasterized
Yellow lines show overlaid 8 inclusive window rectangles
Same 8 window rectangles “shared” by each view’s texture array layer
25
Lens Matched Shading
with Window Rectangle Testing
26
What Didn’t Have to be Rendered
17% of left view pixels 17% of right view pixels
27
Window Rectangle Testing
During Rasterization
New multi-vendor OpenGL extension
EXT_window_rectangles
Provides a set of window-space
rectangles, 8 for NVIDIA GPUs
Rasterizer either includes or excludes
rasterization from rectangles
Discards at speed-of-light
As if free to rasterize to irregular
rectangular regions
Window
Rectangles
Test
NEW
stage
OpenGL’s fragment processing pipeline
28
Warped Lens Matched Scene
Warped version of Lens Matched Shading to match HMD lens
29
Warped Lens Matched Shading
30
Visualizing Warp Window Rectangles
31
What Didn’t Have to be Warped
17% of left view pixels 17% of right view pixels
32
VR Rendering Pipeline in Images
LMS Right Eye View Warped Right Eye View
LMS Left Eye View Warped Left Eye View
Scene
LMS = Lens Matched Shading
33
VR Rendering Pipeline in Images
LMS Right Eye View Warped Right Eye View
LMS Left Eye View Warped Left Eye View
Scene
Displayed within HMD
Single Rendering Pass
Single Pass Stereo +
Lens Matched Shading +
Window Rectangle Testing
Drawn with Single Triangle
Fragment Shader Warping
Window Rectangle Testing
Perception to user is linear rendering
HMD lens “undoes” warping to provide
a perceived wide field-of-view
Pascal does all this
efficiently in a single
rendering pass!
8 viewports, 1 pass
34
Traditional 3D Rendering Pipeline
Transform
3D View
Downsample
Display
Frame
App
Processing
if multisampled
uses pinhole camera projection,
rasterizing to uniform rectilinear pixel grid
monitor directly
displays uniform
rectilinear pixel
grid
Rasterize
3D View
35
Virtual Reality Rendering Pipeline
Rendering Left & Right Eye Views
Transform
Left View
Downsample
Display
Frame to HMD
App
Processing
Rasterize
Left View
Transform
Right View
Downsample
Rasterize
Right View
HMD
Warp
HMD
Warp
warps uniform
rectilinear grid
based on HMD’s
device profile
Transform
Right View
Rasterize
Right View
Transform
Right View
Downsample
Rasterize
Right View
Transform
Right View
HMD
Warp
Downsample
Rasterize
Right View
Transform
Right View
second view rendering
36
Virtual Reality Rendering Pipeline
With Lens Matched Shading
Transform
Left View
Downsample
Display
Frame to HMD
App
Processing
Rasterize
Left View
Transform
Right View
Downsample
Rasterize
Right View
HMD
Warp
HMD
Warp
Lens
Matched
Shading
Lens
Matched
Shading
replicates primitive
to 4 projected quadrants
less pixel resampling
effort & error operating on
LMS rasterized images
37
Virtual Reality Rendering Pipeline
With Single Pass Stereo
Transform
Left & Right
View
Downsample
Display
Frame to HMD
App
Processing
Rasterize
Left View
Downsample
Rasterize
Right View
HMD
Warp
HMD
Warp
one transform instance,
outputs left & right position
38
Virtual Reality Rendering Pipeline
Single Pass Stereo + Lens Matched Shading
Downsample
Display
Frame to HMD
Rasterize
Left View
Downsample
Rasterize
Right View
HMD
Warp
HMD
Warp
Lens
Matched
Shading
Lens
Matched
Shading
Transform
Left & Right
View
App
Processing
+
Advantages
1. Single transform for both views
2. Closer match between rendering & lens images
3. Fewer overall pixels for similar quality
use window rectangle testing
to bound lens region, during
both rasterization & warp
39
Pascal GPU Features for VR
Unique to NVIDIA
Pascal renders left & right eye
In single rendering pass
Halves CPU load for rendering
Better concurrent texture locality
OpenGL: NV_stereo_view_rendering
Direct3D: NVAPI SinglePassStereoMode
Better matches rendering to HMD lens
Single pass
Four separately projected quadrants
Less rendering, less resampling error
OpenGL: NV_clip_space_w_scaling
Direct3D: NVAPI ModifiedWSupport
40
Other NVIDIA Virtual Reality Initiatives
41
More Information
VRWORKS 2.0 Software Development Kit
Available NOW
Pascal OpenGL extensions for Virtual Reality
Specification now public
In official OpenGL.org extension
registry
OpenGL Extension Wrangler 2.0 (GLEW) support
Example code in VRWORKS 2.0 SDK
VRWORKS also documents NVAPI usage
For Direct3D 11
Includes Examples code
Virtual Reality Features of NVIDIA GPUs

More Related Content

PPT
NVIDIA OpenGL in 2016
PDF
Avoiding 19 Common OpenGL Pitfalls
PPT
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
PPT
NV_path rendering Functional Improvements
PPT
EXT_window_rectangles
PPT
OpenGL for 2015
PPT
CS 354 Viewing Stuff
PPT
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
NVIDIA OpenGL in 2016
Avoiding 19 Common OpenGL Pitfalls
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
NV_path rendering Functional Improvements
EXT_window_rectangles
OpenGL for 2015
CS 354 Viewing Stuff
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond

What's hot (20)

PPT
GPU accelerated path rendering fastforward
PDF
Modern OpenGL Usage: Using Vertex Buffer Objects Well
PPT
GTC 2012: GPU-Accelerated Path Rendering
PPTX
Migrating from OpenGL to Vulkan
PPT
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
PPTX
Beyond porting
PPT
NVIDIA's OpenGL Functionality
PDF
How to Improve Visual Rendering Quality in VR - Unite Copenhagen 2019
PDF
OpenGLES - Graphics Programming in Android
PPT
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
PPT
CS 354 Object Viewing and Representation
PDF
Graphics programming in open gl
PPT
CS 354 Introduction
PPTX
FlameWorks GTC 2014
PDF
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
PPT
NVIDIA OpenGL and Vulkan Support for 2017
PPT
SIGGRAPH 2012: NVIDIA OpenGL for 2012
PDF
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
PPTX
Sig13 ce future_gfx
PDF
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
GPU accelerated path rendering fastforward
Modern OpenGL Usage: Using Vertex Buffer Objects Well
GTC 2012: GPU-Accelerated Path Rendering
Migrating from OpenGL to Vulkan
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
Beyond porting
NVIDIA's OpenGL Functionality
How to Improve Visual Rendering Quality in VR - Unite Copenhagen 2019
OpenGLES - Graphics Programming in Android
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
CS 354 Object Viewing and Representation
Graphics programming in open gl
CS 354 Introduction
FlameWorks GTC 2014
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
NVIDIA OpenGL and Vulkan Support for 2017
SIGGRAPH 2012: NVIDIA OpenGL for 2012
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Sig13 ce future_gfx
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
Ad

Similar to Virtual Reality Features of NVIDIA GPUs (20)

PPTX
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
PDF
Alex_Vlachos_Advanced_VR_Rendering_Performance_GDC2016
DOCX
Task 2 displaying 3 d polygon animation
PPT
Non-Planar Projections (GRAPP 2008)
PPTX
Making VR with Unreal Engine Luis Cataldi
PPT
Introduction To Geometry Shaders
PDF
Virtual Techniques: VDC - Trend Report 2018
PPTX
Interactions in parallel worlds with android
PDF
04. The Rendering Pipeline
PDF
Computer Graphics Notes
PPT
Virtual Reality 3D home applications
PPTX
Luis cataldi-ue4-vr-best-practices2
PPTX
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
PPTX
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
PPTX
Screenless display
PDF
1 - My concept of project presented for NI GSDA Award (selected as one of 8 f...
PDF
Architectural 3d visualization and rendering company 30 jun 17
PDF
3d renderings services 14june17
PPTX
Architectural visualization company 29 jun 17
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
Alex_Vlachos_Advanced_VR_Rendering_Performance_GDC2016
Task 2 displaying 3 d polygon animation
Non-Planar Projections (GRAPP 2008)
Making VR with Unreal Engine Luis Cataldi
Introduction To Geometry Shaders
Virtual Techniques: VDC - Trend Report 2018
Interactions in parallel worlds with android
04. The Rendering Pipeline
Computer Graphics Notes
Virtual Reality 3D home applications
Luis cataldi-ue4-vr-best-practices2
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Screenless display
1 - My concept of project presented for NI GSDA Award (selected as one of 8 f...
Architectural 3d visualization and rendering company 30 jun 17
3d renderings services 14june17
Architectural visualization company 29 jun 17
Ad

More from Mark Kilgard (15)

PDF
D11: a high-performance, protocol-optional, transport-optional, window system...
PPT
Computers, Graphics, Engineering, Math, and Video Games for High School Students
PPT
NVIDIA OpenGL 4.6 in 2017
PPTX
OpenGL 4.5 Update for NVIDIA GPUs
PDF
GPU-accelerated Path Rendering
PPT
GTC 2012: NVIDIA OpenGL in 2012
PPT
CS 354 Final Exam Review
PPT
CS 354 Surfaces, Programmable Tessellation, and NPR Graphics
PPT
CS 354 Performance Analysis
PPT
CS 354 Acceleration Structures
PPT
CS 354 Global Illumination
PPT
CS 354 Ray Casting & Tracing
PPT
CS 354 Typography
PPT
CS 354 Vector Graphics & Path Rendering
PPT
CS 354 Bezier Curves
D11: a high-performance, protocol-optional, transport-optional, window system...
Computers, Graphics, Engineering, Math, and Video Games for High School Students
NVIDIA OpenGL 4.6 in 2017
OpenGL 4.5 Update for NVIDIA GPUs
GPU-accelerated Path Rendering
GTC 2012: NVIDIA OpenGL in 2012
CS 354 Final Exam Review
CS 354 Surfaces, Programmable Tessellation, and NPR Graphics
CS 354 Performance Analysis
CS 354 Acceleration Structures
CS 354 Global Illumination
CS 354 Ray Casting & Tracing
CS 354 Typography
CS 354 Vector Graphics & Path Rendering
CS 354 Bezier Curves

Recently uploaded (20)

PPTX
Machine Learning_overview_presentation.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Approach and Philosophy of On baking technology
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
1. Introduction to Computer Programming.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Machine Learning_overview_presentation.pptx
MIND Revenue Release Quarter 2 2025 Press Release
NewMind AI Weekly Chronicles - August'25-Week II
Mobile App Security Testing_ A Comprehensive Guide.pdf
Tartificialntelligence_presentation.pptx
Unlocking AI with Model Context Protocol (MCP)
Programs and apps: productivity, graphics, security and other tools
A comparative analysis of optical character recognition models for extracting...
Spectroscopy.pptx food analysis technology
Advanced methodologies resolving dimensionality complications for autism neur...
Approach and Philosophy of On baking technology
Group 1 Presentation -Planning and Decision Making .pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A comparative study of natural language inference in Swahili using monolingua...
Building Integrated photovoltaic BIPV_UPV.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
1. Introduction to Computer Programming.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Network Security Unit 5.pdf for BCA BBA.
gpt5_lecture_notes_comprehensive_20250812015547.pdf

Virtual Reality Features of NVIDIA GPUs

  • 1. Mark Kilgard, July 27, 2016 Virtual Reality Features of NVIDIA GPUs
  • 2. 2 Mark Kilgard Principal System Software Engineer OpenGL driver implementation & API evolution Other interests Programmable shading languages, original Cg GPU shading language Web, vector graphics & path rendering, GPU rendering for 2D graphics Also known for creating OpenGL Utility Toolkit (GLUT) My Background
  • 3. 3 GPU Challenges for Virtual Reality Rendering 1. Must render unique view for each eye Two scene renders per frame 2. Wide field-of-view rendered More pixels, distributed towards periphery 3. HMD lens magnifies rendered scene Non-linear inverse lens warp Allows the HMD lens magnification to provide convincing sense of presence
  • 4. 4 Magnification Effect of HMD Lens Graph paper viewed & magnified through HMD lens
  • 5. 5 Head Mounted Display Lens Effect Barrel Distorted Images on HMD Screen Magnified Overlapping Wide Field-of-view Binocular View
  • 6. 6 Focus on Virtual Reality Features of Pascal GPUs Virtual Reality rendering features in Pascal GPUs GeForce 1080/1070/1060 NEW Quadro P6000 & P5000 As exposed in standard 3D APIs
  • 7. 7 Background: NVIDA GPU Architecture Road Map Our interest NVIDIA GPU architectures of interest: Pascal What is Pascal mentioned on last slide?
  • 10. 10 Wide Stereo Views of Same Scene Left Right
  • 13. 13 Left & Right Views Are Similar but Different Left and Right eye views have different occlusion While left & right eye views look similar, must be draw independently Really only different in a small translation in X NVIDIA Single Pass Stereo supports generating left & right eye positions GPU automatically makes left & right eye versions of each primitive Then renders each view to a different framebuffer slice Exposed in OpenGL by NV_stereo_view_rendering extension Exposed for Direct3D 11 by NVAPI SinglePassStereoMode feature
  • 14. 14 Image Difference of Two Views − + 0.5 = Left eye view Right eye view Clamped difference image
  • 15. 15 Left & Right Views Rendered Efficiently in One Pass
  • 19. 19 Visualization of Lens Matched Shading Rendering
  • 20. 20 Still Needs Non-linear Warp Lens Matched Shading rendering Warped image suitable for HMD display Non-linear image
  • 21. 21 Still Needs Non-linear Warp Lens Matched Shading rendering Warped image suitable for HMD display Non-linear image BUT substantially less pixel motion and distortion than conventional VR re-warping
  • 23. 23 Lens Matched Shading with Window Rectangle Testing
  • 24. 24 Lens Matched Shading with Window Rectangle Testing Nothing in black corners is shaded or even rasterized Yellow lines show overlaid 8 inclusive window rectangles Same 8 window rectangles “shared” by each view’s texture array layer
  • 25. 25 Lens Matched Shading with Window Rectangle Testing
  • 26. 26 What Didn’t Have to be Rendered 17% of left view pixels 17% of right view pixels
  • 27. 27 Window Rectangle Testing During Rasterization New multi-vendor OpenGL extension EXT_window_rectangles Provides a set of window-space rectangles, 8 for NVIDIA GPUs Rasterizer either includes or excludes rasterization from rectangles Discards at speed-of-light As if free to rasterize to irregular rectangular regions Window Rectangles Test NEW stage OpenGL’s fragment processing pipeline
  • 28. 28 Warped Lens Matched Scene Warped version of Lens Matched Shading to match HMD lens
  • 31. 31 What Didn’t Have to be Warped 17% of left view pixels 17% of right view pixels
  • 32. 32 VR Rendering Pipeline in Images LMS Right Eye View Warped Right Eye View LMS Left Eye View Warped Left Eye View Scene LMS = Lens Matched Shading
  • 33. 33 VR Rendering Pipeline in Images LMS Right Eye View Warped Right Eye View LMS Left Eye View Warped Left Eye View Scene Displayed within HMD Single Rendering Pass Single Pass Stereo + Lens Matched Shading + Window Rectangle Testing Drawn with Single Triangle Fragment Shader Warping Window Rectangle Testing Perception to user is linear rendering HMD lens “undoes” warping to provide a perceived wide field-of-view Pascal does all this efficiently in a single rendering pass! 8 viewports, 1 pass
  • 34. 34 Traditional 3D Rendering Pipeline Transform 3D View Downsample Display Frame App Processing if multisampled uses pinhole camera projection, rasterizing to uniform rectilinear pixel grid monitor directly displays uniform rectilinear pixel grid Rasterize 3D View
  • 35. 35 Virtual Reality Rendering Pipeline Rendering Left & Right Eye Views Transform Left View Downsample Display Frame to HMD App Processing Rasterize Left View Transform Right View Downsample Rasterize Right View HMD Warp HMD Warp warps uniform rectilinear grid based on HMD’s device profile Transform Right View Rasterize Right View Transform Right View Downsample Rasterize Right View Transform Right View HMD Warp Downsample Rasterize Right View Transform Right View second view rendering
  • 36. 36 Virtual Reality Rendering Pipeline With Lens Matched Shading Transform Left View Downsample Display Frame to HMD App Processing Rasterize Left View Transform Right View Downsample Rasterize Right View HMD Warp HMD Warp Lens Matched Shading Lens Matched Shading replicates primitive to 4 projected quadrants less pixel resampling effort & error operating on LMS rasterized images
  • 37. 37 Virtual Reality Rendering Pipeline With Single Pass Stereo Transform Left & Right View Downsample Display Frame to HMD App Processing Rasterize Left View Downsample Rasterize Right View HMD Warp HMD Warp one transform instance, outputs left & right position
  • 38. 38 Virtual Reality Rendering Pipeline Single Pass Stereo + Lens Matched Shading Downsample Display Frame to HMD Rasterize Left View Downsample Rasterize Right View HMD Warp HMD Warp Lens Matched Shading Lens Matched Shading Transform Left & Right View App Processing + Advantages 1. Single transform for both views 2. Closer match between rendering & lens images 3. Fewer overall pixels for similar quality use window rectangle testing to bound lens region, during both rasterization & warp
  • 39. 39 Pascal GPU Features for VR Unique to NVIDIA Pascal renders left & right eye In single rendering pass Halves CPU load for rendering Better concurrent texture locality OpenGL: NV_stereo_view_rendering Direct3D: NVAPI SinglePassStereoMode Better matches rendering to HMD lens Single pass Four separately projected quadrants Less rendering, less resampling error OpenGL: NV_clip_space_w_scaling Direct3D: NVAPI ModifiedWSupport
  • 40. 40 Other NVIDIA Virtual Reality Initiatives
  • 41. 41 More Information VRWORKS 2.0 Software Development Kit Available NOW Pascal OpenGL extensions for Virtual Reality Specification now public In official OpenGL.org extension registry OpenGL Extension Wrangler 2.0 (GLEW) support Example code in VRWORKS 2.0 SDK VRWORKS also documents NVAPI usage For Direct3D 11 Includes Examples code