RENDERING FASTER AND BETTER WITH VRWORKS John Spitzer, April 4, - - PowerPoint PPT Presentation

rendering faster and better with vrworks
SMART_READER_LITE
LIVE PREVIEW

RENDERING FASTER AND BETTER WITH VRWORKS John Spitzer, April 4, - - PowerPoint PPT Presentation

April 4-7, 2016 | Silicon Valley RENDERING FASTER AND BETTER WITH VRWORKS John Spitzer, April 4, 2016 VR Ready Headset Hardware Developers Partners HELPING THE ECOSYSTEM BUILD AMAZING VR App Engine Developers Developers 2 LEADING


slide-1
SLIDE 1

April 4-7, 2016 | Silicon Valley

John Spitzer, April 4, 2016

RENDERING FASTER AND BETTER WITH VRWORKS

slide-2
SLIDE 2

2

HELPING THE ECOSYSTEM BUILD AMAZING VR

VR Ready Hardware Partners Headset Developers Engine Developers App Developers

slide-3
SLIDE 3

3

LEADING ENGINES ADOPT NVIDIA VRWORKS

Multi-Res Shading VR SLI Multi-Res Shading VR SLI

slide-4
SLIDE 4

4

LEADING HMD MAKERS ADOPT VRWORKS

Direct Mode Context Priority Direct Mode VR SLI

slide-5
SLIDE 5

5

VR PLATFORMS FOR CONSUMER, PRO, AND MOBILE

VR workstations Location-based VR CAVEs 360 video capture/streaming M5000M6000

Quadro

Mobile VR headsets Embedded video capture and streaming devices

Tegra

VR gaming and entertainment PCs World’s only VR notebooks Consumer 360 video capture 970 / 980 Ti / Titan X

GeForce

slide-6
SLIDE 6

6

Gaming Movies Sports Concerts Travel Retail

CONSUMER APPLICATIONS OF VR ARE HUGE

slide-7
SLIDE 7

7

M&E AEC Medical Energy Manufacturing Collaboration

PROFESSIONAL VR MARKET MAY BE EVEN LARGER

slide-8
SLIDE 8

8

VR IS RAMPING QUICKLY

Companies Employees Capital Raised

600+ 40,000 $3.8B

VR/AR = $80B revenue by 2025

Source: Goldman Sachs

slide-9
SLIDE 9

9

HOW IS VR RENDERING DIFFERENT?

slide-10
SLIDE 10

10

HOW IS VR RENDERING DIFFERENT?

High framerate, low latency

High FPS, low latency Stereo Rendering Lens Distortion

slide-11
SLIDE 11

11

NVIDIA VRWORKS SDK

WARP AND BLEND

Increase performance via an innovative new way to render for VR Scale performance with multiple GPUs Minimize head tracking latency with asynchronous time warp Plug and play compatibility from GPU to HMD Reduce latency by rendering directly to the front buffer API for geometry and intensity adjustments for seamless VR Provides tear free VR environments by synchronizing multi GPU’s Fine grain control to pin OGL contexts to specific GPU’s Reduces latency for video transfer to and from the GPU

SYNCHRONIZATION GPU AFFINITY GPUDIRECT FOR VIDEO

App Headset Pro only

slide-12
SLIDE 12

12

VR SLI

Two eyes...two GPUs!

slide-13
SLIDE 13

13

“NORMAL” SLI

GPUs render alternate frames N N+1 N N+1 N N+1 CPU GPU 0 GPU 1 Display Latency

slide-14
SLIDE 14

14

VR SLI

Each GPU renders one eye—lower latency NL N+1R N N+1 NR N+1L N N+1 CPU GPU 0 GPU 1 Display Latency

slide-15
SLIDE 15

15

VR SLI

GPU affinity masking: full control Shadow maps, GPU physics, etc. Left eye rendering Right eye rendering

slide-16
SLIDE 16

16

VR SLI

Broadcasting reduces CPU overhead

R L

Render scene once

slide-17
SLIDE 17

17

VR SLI

Per-GPU constant buffers, viewports, scissors

L R

Multi-GPU API

R L

Engine

slide-18
SLIDE 18

18

VR SLI

Cross-GPU data transfer via PCI Express

slide-19
SLIDE 19

19

MULTI-RESOLUTION SHADING

slide-20
SLIDE 20

20

VR HEADSET OPTICS

Distortion and counter-distortion

slide-21
SLIDE 21

21

VR HEADSET OPTICS

Distortion and counter-distortion User’s view Image Displayed Optics

slide-22
SLIDE 22

22

DISTORTED RENDERING

Render normally, then resample Rendered image Distorted image

slide-23
SLIDE 23

23

DISTORTED RENDERING

Over-rendering the outskirts Rendered image Distorted image

slide-24
SLIDE 24

24

MULTI-RESOLUTION SHADING

Subdivide the image, and shrink the outskirts

slide-25
SLIDE 25

25

MULTI-RESOLUTION SHADING

Fast viewport broadcast on NVIDIA Maxwell GPUs Viewport 1 Viewport 2 Viewport N

...

Geometry Pipeline

slide-26
SLIDE 26

26

MULTI-RESOLUTION SHADING

https://developer.nvidia.com/vrworks NVAPI for Maxwell viewport broadcast in DX11/12 Helper code for configuring viewports, shader math, etc DX11 sample app Guide to integrating in an existing engine OpenGL extensions are also available

Public, open-source SDK

slide-27
SLIDE 27

27

UE4 INTEGRATION

Postprocessing passes supported:

Bloom & lens flare Tonemapping Temporal AA Reflection environment Height fog Decals Distortion/refraction

https://github.com/NvPhysX/UnrealEngine/tree/MultiRes-4.10

slide-28
SLIDE 28

28

MULTI-RESOLUTION SHADING

Infiltrator demo seeing 30-40% increase Everest game seeing up to 40% increase Up to 50% when entirely pixel-bound!

Performance

NVIDIA CONFIDENTIAL. DO NOT DISTRIBUTE.

slide-29
SLIDE 29

29

RENDERING PASSES

Geometry passes: add FastGS; render with 9 viewports & scissors

Base pass, decals, deferred lights, depth prepass, distortion, shadow projection, translucency, velocity

Image-space passes: remap linear/multi-res UVs as needed

Decals, deferred lights, postprocessing, shadow projection, tiled deferred lights

Text/HUD would be done after multi-res

slide-30
SLIDE 30

30

IMAGE-SPACE PASSES

Reconstruct 3D position from 2D+depth

Map 2D position to linear before reconstructing

Large filter kernels

Map sample point to linear, apply offset, map back to multi-res

Two common cases

slide-31
SLIDE 31

31

UV REMAPPING

slide-32
SLIDE 32

32

DEMO TIME!

Unreal Engine 4.11

slide-33
SLIDE 33

33

NVIDIA VRWORKS SDK

WARP AND BLEND

Increase performance via an innovative new way to render for VR Scale performance with multiple GPUs Minimize head tracking latency with asynchronous time warp Plug and play compatibility from GPU to HMD Reduce latency by rendering directly to the front buffer API for geometry and intensity adjustments for seamless VR Provides tear free VR environments by synchronizing multi GPU’s Fine grain control to pin OGL contexts to specific GPU’s Reduces latency for video transfer to and from the GPU

SYNCHRONIZATION GPU AFFINITY GPUDIRECT FOR VIDEO

App Headset Pro only

slide-34
SLIDE 34

34

Context priority for asynchronous time warp

Reduces latency from head rotation

Frame (Left) Frame (Right) Head Tracking (t) Warped Frame Head Tracking (t+1)

slide-35
SLIDE 35

35

Direct Mode

Plug-and-play Compatibility Via Direct Interface with the VR Headset

Operating System

slide-36
SLIDE 36

36

Front Buffer Rendering

Reduces Latency By Rendering Directly to the Headset

Scan Out Warp

slide-37
SLIDE 37

37

NVIDIA VRWORKS SDK

WARP AND BLEND

Increase performance via an innovative new way to render for VR Scale performance with multiple GPUs Minimize head tracking latency with asynchronous time warp Plug and play compatibility from GPU to HMD Reduce latency by rendering directly to the front buffer API for geometry and intensity adjustments for seamless VR Provides tear free VR environments by synchronizing multi GPUs Fine grain control to pin OGL contexts to specific GPU’s Reduces latency for video transfer to and from the GPU

SYNCHRONIZATION GPU AFFINITY GPUDIRECT FOR VIDEO

App Headset Pro only

slide-38
SLIDE 38

38

Warp and blend

API for Geometry, Intensity and Black Offset

  • n each display

Adjustments applied to the full desktop image Zero latency Application independent

Image courtesy of Joachim Tesch — Max Planck Institute for Biological Cybernetics

APIs for rendering custom immersive environments

slide-39
SLIDE 39

39

Swap Groups and Swap Barriers: HW based swap synchronization within a node or between clusters

Co-ordinate Buffer Swaps

Synchronization

Prevent tearing and image misalignment in VR environments

Frame Lock: Align the scan out of multiple displays, GPU’s, and systems Stereo Lock: Maintain Stereo alignment between multiple systems Synchronize to an internal or external timing source

Synchronize multiple displays

slide-40
SLIDE 40

40

GPUDirect™ for video

Enables real-time, low latency video transfers in VR environments 360 degree video capture and stitching Capture, render & output in less than 3 frames Synchronized Transfers Minimal CPU Overhead Sub Frame Transfer Size

slide-41
SLIDE 41

41

NVIDIA VRWORKS: PAVING THE WAY FOR VR

WARP AND BLEND

Increase performance via an innovative new way to render for VR Scale performance with multiple GPUs Minimize head tracking latency with asynchronous time warp Plug and play compatibility from GPU to HMD Reduce latency by rendering directly to the front buffer API for geometry and intensity adjustments for seamless VR Provides tear free VR environments by synchronizing multi GPU’s Fine grain control to pin OGL contexts to specific GPU’s Reduces latency for video transfer to and from the GPU

SYNCHRONIZATION GPU AFFINITY GPUDIRECT FOR VIDEO

App Headset Pro only

slide-42
SLIDE 42

42

QUESTIONS?

slide-43
SLIDE 43

April 4-7, 2016 | Silicon Valley

THANK YOU

JOIN THE NVIDIA DEVELOPER PROGRAM AT developer.nvidia.com/join