本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【j2开奖】?如何提升 VR 渲染的性能?手把手教你 | 干货(2)

时间:2017-01-20 22:17来源:天下彩论坛 作者:www.wzatv.cc 点击:
其次,平常我们使用的 PS4 或 PC 上的分辨率 1080p 已经非常高了,现在渲染的分辨率要 2k(HTC 的分辨率是 2k,Oculus 的分辨率也是 2k 以上),两只眼睛,同

  其次,平常我们使用的 PS4 或 PC 上的分辨率 1080p 已经非常高了,现在渲染的分辨率要 2k(HTC 的分辨率是 2k,Oculus 的分辨率也是 2k 以上),两只眼睛,同时帧率还不能说只达到 60FPS,而必须达到 75FPS 或者 90FPS。

  在这种情况下,你必须要牺牲掉一些效果。甚至说,你要牺牲掉很多效果去达到基本的性能要求。

  在这个情况下,优化就显得非常重要。

  锯齿

  还有一个比较重要的因素,就是我们在 VR 里,眼睛离屏幕非常近。

  同时,我们的眼睛一直在运动的。

  那么,我们平常在用电脑玩游戏或者手机玩游戏的时候,一些比较不明显的画质上的差异它就会体现出来,特别明显的就是锯齿

  玩游戏比较多的人知道有个名词叫 “狗牙”。比如说一个非常细的多边形,我看上去会有一段一段一段的 “狗牙”,或者说一块金属反射的高光,我在玩的时候它会不停的闪烁,就会让人感觉画面很不稳定。

  而在 VR 里面这种情况更加的严重,也就是我们通常说的抗锯齿会变得更加的重要。

  怎样解决性能上的问题?

  我先讲一下,怎么解决这些性能上的问题。

  减小渲染图像

  首先,一个比较自然的想法就是把要渲染的图像变得小一些

  那么怎么变的小一些呢?

  一个很明显的优化思想就是,渲染并不是说两幅图都是 2k 的图片,并不是要把这 2k 全部渲染出来,因为现在的头显是有 FOV 的,它在边缘是有畸变的。

  也就是说我们完全是可以只渲染中心一部分的图片,而并不是把整个图渲染出来。

  用一个遮挡的 Mesh 去把不需要的像素点剔除掉,对你真正的体验来说不会有任何影响。

  举一个例子,Valve 公司做的《The Lab》的 Demo。

  在这里面就讲到,用一个圆形的 Mesh 去保留所需要的像素。边缘那些黑的在 VR 头显里面,或者说在 HTC Vive 或 Oculus 里面不需要这些像素。它测算出来的结果是,通过这个能够把 17% 的像素去剔除掉。这是一个比较自然的想法。

  注视点渲染技术

  还有一个类似的想法,像素的着色或者说像素的渲染,是 GPU 里面损耗最大的部分,那我们能不能把这些像素不要再去扔掉呢?

  其实最简单的思想是,人在看东西的时候是有一个焦点的。

  打个比方说,我现在看到的这块屏幕,我的眼睛会集中在这块屏幕上。我不可能太多的关注周围的窗帘、包括这块广告板。

  那是不是说,我们可以把更多的 GPU 的效率提供在这块板(焦点)上而不是我们同样的渲染整个视场中的,包括这边和这边的物体。

  这就是一个非常简单或者说非常直白的叫做 Foveated Rendering,就是注视点渲染技术

  传统的渲染流水线中,我们会把三维空间的物体投影到屏幕上,然后每个像素都一个一个地按部就班的去着色。

  实际上在 VR 里面,它还真不是这样。因为在 VR 里面我们有注视点,可能说我们只看中间的那一小部分,而并不是说我们对整个的画面中的像素都是一视同仁的。所以说,有一个非常简单的实现技术,固定的注视点渲染,它并不是说我们需要实现眼球跟踪那么复杂的技术。

  比方说,我在看的时候,我的眼球会往这边看或者往那边看。

  我们做一个最基本的假设,就是说我的眼球总是看着最前方,然后我们通过一个算法把周围像素着色的密度去降低,那就可以提高很多的效率。

  这里说的 GameWorks VR,也就是英伟达推出的关于 VR 渲染的技术里面,也用了同样的思想,就是 Multi-resolutionshading。

  这个思想其实是一样的,它就是说我也假设我的视点永远是在画面最中心,然后我把画面分成大概 9 个区域,分别按不同的着色密度去渲染。

  我看过官方的数据,这个 Multi-resolutionshading 能够提高 15% 或者 20% 的着色效率。

  还有一个比较浪费的就是,在 VR 里面你要渲染两遍,左眼和右眼。

  其实很多东西是不需要渲染两遍的。

  最基本的就是说,和灯光有关的东西,你根本不需要渲染两遍。

比如说 Shadow map,也就是阴影

  因为,阴影是跟灯光有关的,和摄像机的位置无关。你的两只眼睛不管距离多大或者是差异性有多大,它都是一样的。

还有一个比较值得研究的就是,比如说漫反射

  高光我们可能在两个眼睛里面会有很大的区别,但是漫反射其实区别比较小。

再一个就是说,比如说很多的后处理的特效

  比如我们的光晕、HDR 高动态范围,这个特效其实都不需要渲染两遍。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容