解密funhouse vr - nvidia developer€¦ · 解密funhouse背后的英伟达 尖端vr技术....
TRANSCRIPT
解密Funhouse背后的英伟达尖端VR技术
VRWORKS GRAPHICS
针对游戏及应用开发者
通过减少对冗余像素的渲染来提高VR渲染的性能的
一种创新性的新方法
通过多个GPU来提升性能
通过一次几何体渲染便可将几何体同时投
射到左右视口
渲染更加接近于透镜矫正的图形,从而更有效的避免冗余像素的渲染
VR SLI
VR SLI
通过多个GPU来提升性能
GPU affinity masking & Broadcasting
帧渲染 (左眼)
帧渲染 (右眼)
VR SLI
GPU关联掩码(Affinity Masking)
阴影贴图,GPU物理等
左眼渲染
右眼渲染
VR SLI
广播(Broadcasting)
帧渲染 (左眼)
帧渲染 (右眼)
仅需渲染一次场景
VR SLI
通过PCIe进行跨GPU数据拷贝
左
右
左 右
多投影(Multi-Projection)
Multi-Projection
Viewport 1
Viewport 2
Viewport N
…
几何管线
NVIDIA GPU的特性
高效地将几何体以广播的方式同时投影到多个Viewport,
是MRS,LMS及SPS得以实现的基础
多分辨率着色(Multi-res Shading)
Multi-res Shading
VR设备显示的特点( 变形与反变形 )
Multi-res Shading
VR设备显示的特点( 变形与反变形 )
用户看到的图像
光学元件
显示的图像 应用渲染的图像
Multi-res Shading
一种创新性的VR渲染新方法
Pascal GPU新特性带来的新技术
Lens-Matched Shading
Single Pass Stereo
透镜匹配着色(Lens-Matched Shading)
Lens-Matched Shading
进一步逼近透镜显示所需的的图像
LMS 渲染的图像 传统方式渲染的图像
Lens-Matched Shading
Pascal GPU的新硬件特性:Modified W
w’ = w + Ax + By
SV_POSITION
X Y Z W
Lens-Matched Shading
w’ = w + Ax + By
Lens-Matched Shading
将屏幕分为4个Viewport
Lens-Matched Shading
控制八边形的形状
对变形程度的控制
WarpLeft
WarpRight
WarpUp
WarpDown
对投影区域大小的控制
SizeLeft
SizeRight
SizeUp
SizeDown
单遍立体(Single Pass Stereo)
Single Pass Stereo
Pascal GPU的又一新硬件特性
仅需渲染一次场景
在单块GPU上,通过一次几何体渲染便可将几何体同时投射到左右视口,高效地完成VR所需的立体渲染
Single Pass Stereo
不仅减少CPU的负担
Draw(…) Input
Assembler
Vertex
Shader
Cull, Clip,
Viewport
Geometry
Shader
Tessellation
Shaders
Rasterizer Pixel Shader Output
Merger
Single Pass Stereo
VR 对双眼渲染时View设置的特点
双眼的视线是平行的
空间中的同一点在双眼Clip空间中的坐标比较
仅有X方向的值不同
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
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
Slice 1
Single Pass Stereo
立体渲染布局方式(Stereo Layouts)
Side-By-Side Layout Render Target Array (RTA) Layout
右 左 右 左
Slice 0
VRWORKS GRAPHICS
针对游戏及应用开发者
通过减少对冗余像素的渲染来提高VR渲染的性能的
一种创新性的新方法
通过多个GPU来提升性能
通过一次几何体渲染便可将几何体同时投
射到左右视口
渲染更加接近于透镜矫正的图形,从而更有效的避免冗余像素的渲染
提问? [email protected] http://developer.nvidia.com/vrworks