GPU 渲染技术以及对计算力的要求
一、虚拟现实(VR)需要很强的GPU,原因如下:
(1)高分辨率——4K
(2)高帧率——90Hz以上
(3)立体
(4)镜头形变矫正
如Oculus Rift需要GTX 970基本的显卡。GTX970,在2015年底时的性能天梯图的位置是:
图1:显卡性能天梯图
GTX 970显卡,当前的零售价格在 2500 人民币左右。算比较高端的显卡了。
二、3D渲染的两个技术:光栅化和光线跟踪
渲染指的是将3D的物体显示在2D的屏幕上的过程。
光栅化(rasterization)就是把物体建模成很多三角形,然后投射到2D的屏幕上,再对投射后形成的很多三角形上色的过程。这个技术现在非常成熟,速度也非常快。缺点是渲染出来的物体不太真实,缺乏真实物体的质感以及和环境的互动关系等。但是现在通过各种预处理的贴图等,也可以模拟出以假乱真的3D图像。原因是人眼和大脑比较好欺骗,而且大脑自己也会对各种图像进行自我想象和脑补。而且,很多时候,人也不知道真实的物体是什么样子的——比如星际旅行中的各种星球。。。
图2:光栅化
光线跟踪(ray tracing),即模拟物体被人眼看到的过程,从人眼发射出逆向的光线投送到物体上,可以模拟出真实的物体质感、光线折射和反射、环境等。光线跟踪渲染的效果非常好,很多电影都是通过光线跟踪渲染出来的。它的缺点就是太慢,对于真实的环境,需要多次采样以及非常多的光线叠加。而且由于每个光线都是独立处理,GPU的SIMD架构的性能大打折扣。
图3:光线跟踪
三、光线跟踪的开销有多大?
以实现一个简单的阴影为例,采用简单的光线跟踪算法,几乎比不渲染阴影多消耗70%的内存开销
图4:光线跟踪实现阴影的内存带宽开销
性能也没有达到流畅的要求:
图5:性能分析
下面是Imagination给出的,在1080P分辨率情况下的完全光线跟踪所需要的光线数量:
图6:光线跟踪需求
完全光线跟踪需要的光线数量为 3G rays/s,这个是什么概念?采用GPU GTX 690实现的光线跟踪,性能约为 5M rays/s,也就是说,大约需要 600 个 GTX 690 才能达到要求。
四、小结
本文简单介绍了VR需要的3D渲染技术,从真实场景渲染的需求来看,光线跟踪是一个必须的技术。但是性能需求太高阻碍了它在实时渲染中的应用。当前的渲染还是以光栅化的技术为主,真实感不足。
- 点赞
- 收藏
- 关注作者
评论(0)