解密funhouse vr - nvidia developer€¦ · 解密funhouse背后的英伟达 尖端vr技术....

29
解密Funhouse背后的英伟达 尖端VR技术

Upload: others

Post on 22-May-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

解密Funhouse背后的英伟达尖端VR技术

Page 2: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

VRWORKS GRAPHICS

针对游戏及应用开发者

通过减少对冗余像素的渲染来提高VR渲染的性能的

一种创新性的新方法

通过多个GPU来提升性能

通过一次几何体渲染便可将几何体同时投

射到左右视口

渲染更加接近于透镜矫正的图形,从而更有效的避免冗余像素的渲染

Page 3: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

VR SLI

Page 4: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

VR SLI

通过多个GPU来提升性能

GPU affinity masking & Broadcasting

帧渲染 (左眼)

帧渲染 (右眼)

Page 5: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

VR SLI

GPU关联掩码(Affinity Masking)

阴影贴图,GPU物理等

左眼渲染

右眼渲染

Page 6: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

VR SLI

广播(Broadcasting)

帧渲染 (左眼)

帧渲染 (右眼)

仅需渲染一次场景

Page 7: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

VR SLI

通过PCIe进行跨GPU数据拷贝

左 右

Page 8: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

多投影(Multi-Projection)

Page 9: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Multi-Projection

Viewport 1

Viewport 2

Viewport N

几何管线

NVIDIA GPU的特性

高效地将几何体以广播的方式同时投影到多个Viewport,

是MRS,LMS及SPS得以实现的基础

Page 10: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

多分辨率着色(Multi-res Shading)

Page 11: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Multi-res Shading

VR设备显示的特点( 变形与反变形 )

Page 12: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Multi-res Shading

VR设备显示的特点( 变形与反变形 )

用户看到的图像

光学元件

显示的图像 应用渲染的图像

Page 13: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Multi-res Shading

一种创新性的VR渲染新方法

Page 14: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Pascal GPU新特性带来的新技术

Lens-Matched Shading

Single Pass Stereo

Page 15: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

透镜匹配着色(Lens-Matched Shading)

Page 16: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Lens-Matched Shading

进一步逼近透镜显示所需的的图像

LMS 渲染的图像 传统方式渲染的图像

Page 17: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Lens-Matched Shading

Pascal GPU的新硬件特性:Modified W

w’ = w + Ax + By

SV_POSITION

X Y Z W

Page 18: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Lens-Matched Shading

w’ = w + Ax + By

Page 19: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Lens-Matched Shading

将屏幕分为4个Viewport

Page 20: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Lens-Matched Shading

控制八边形的形状

对变形程度的控制

WarpLeft

WarpRight

WarpUp

WarpDown

对投影区域大小的控制

SizeLeft

SizeRight

SizeUp

SizeDown

Page 21: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

单遍立体(Single Pass Stereo)

Page 22: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Single Pass Stereo

Pascal GPU的又一新硬件特性

仅需渲染一次场景

在单块GPU上,通过一次几何体渲染便可将几何体同时投射到左右视口,高效地完成VR所需的立体渲染

Page 23: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Single Pass Stereo

不仅减少CPU的负担

Draw(…) Input

Assembler

Vertex

Shader

Cull, Clip,

Viewport

Geometry

Shader

Tessellation

Shaders

Rasterizer Pixel Shader Output

Merger

Page 24: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Single Pass Stereo

VR 对双眼渲染时View设置的特点

双眼的视线是平行的

空间中的同一点在双眼Clip空间中的坐标比较

仅有X方向的值不同

Page 25: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Single Pass Stereo

SPS的具体实现方式

在几何处理管线的最末端输出两个坐标

顶点在左眼Clip空间中的完整坐标 ( SV_POSITION )

顶点在右眼Clip空间中的X坐标 ( NV_X_RIGHT )

SV_POSITION

X Y Z W

NV_X_RIGHT

X

Left position

X Y Z W

Right position

X Y Z W

Page 26: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Single Pass Stereo

SPS的具体实现方式

设置Viewport Mask,用以确定各个Viewport属于哪只眼睛

NV_VIEWPORT_MASK

UINT型变量,高16位用于指定右眼的Viewport,低16位用于指定左眼的。

NV_VIEWPORT_MASK

[ 31 : 16 ] [ 15 : 0 ]

… 1 0 0 0 … 0 1 0 0 0x00020001

Page 27: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

Slice 1

Single Pass Stereo

立体渲染布局方式(Stereo Layouts)

Side-By-Side Layout Render Target Array (RTA) Layout

右 左 右 左

Slice 0

Page 28: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

VRWORKS GRAPHICS

针对游戏及应用开发者

通过减少对冗余像素的渲染来提高VR渲染的性能的

一种创新性的新方法

通过多个GPU来提升性能

通过一次几何体渲染便可将几何体同时投

射到左右视口

渲染更加接近于透镜矫正的图形,从而更有效的避免冗余像素的渲染

Page 29: 解密Funhouse VR - NVIDIA Developer€¦ · 解密Funhouse背后的英伟达 尖端VR技术. VRWORKS GRAPHICS 针对游戏及应用开发者 通过减少对冗余像素的渲 染来提高VR

提问? [email protected] http://developer.nvidia.com/vrworks