光线追踪近在咫尺,远在天涯。
去年8月份,英伟达推出了自己最新一代RTX显卡。这代显卡一个十分重要的升级,就是增加了一个光线追踪处理单元,号称将“实时光线追踪”带给了普通用户。
在几款率先支持光线追踪的游戏陆续实装这个功能以后,也有不少玩家已经尝过了鲜。总体来看,在光线反射比较复杂的情景下,光线追踪确实对画面表现有一定的提升。
但在其它一些场景里面,可能光线追踪的效果就没有那么明显了。另外,即便经过了几轮优化,目前光线追踪效果最好的《战地5》还是会有20%-30%的帧数损失。在这种情况下,难免也有些玩家会疑惑:这个所谓的“光线追踪”到底是在干嘛?我们真的需要这个“光线追踪”的效果吗?
01
其实“光线追踪”的思路历史十分悠久。早在17世纪,荷兰画家维米尔就发明了一种可以把图像聚焦到一面镜子上的设备,用来辅助自己绘画。我们现在看几百年前有些油画极度逼真,仿佛照片一样,有部分就是用这种方法画的。
现代工程师仿制了维米尔的设备,并成功重现了维米尔的作画过程
现实世界中光影的变化十分复杂,以下图为例,白框内绿色的台球左边映上了红色台球的影子,最终呈现出一种偏红的橄榄色。在另外一边,也有白色的倒影。材质越光滑的物体,这种现象越明显。
这种细微的色彩变化没有受过训练的人比较难意识到,画出来的画面就容易显得死板平面
通过这个设备,维米尔可以准确观察到这种微弱的细节,使得他的作品中光影的真实感在同时代画家中独树一帜。
假如在这个设备上更进一步,把镜子换成可以感光的底片,就是照相机的基本原型。实际上,人的眼睛能够看见东西,也差不多是同样的原理。
电脑三维图像所使用的光线追踪技术,就是对现实中各种光学现象的模拟。首先用三维模型创建一个场景,然后让光线在场景里面按照物理规则自由地反射,最后投射到屏幕上的,自然就是真实而正确的影像。
光线追踪的原理概念
用这种方法来生成图像,光影效果和现实十分接近,但是想要完整模拟光线的物理特性,运算量实在是太大了。在三维图像刚发明的时候,没有电脑能够处理这种模拟过程。
为了节省运算量,开发者们想了个取巧的办法:跳过计算光线的步骤,把三维模型直接“拍扁”,投射到二维画面上。这么一来,计算速度就要快得多了。这就是常说的“光栅化渲染”。
粗浅理解,光栅化就是把模型“拍扁”到屏幕上
02
随着技术不断进步,计算机性能不断提升,光线追踪在3D动画和电影特效渲染中的应用已经比较普遍了。
从2008年的《汽车总动员》开始,光线追踪就已经得到比较大规模的运用了
但是游戏想要有流畅的体验,每秒至少要生成30张以上的图像,对速度要求很高。所以现在所有的游戏还是以光栅化渲染为主。
光栅化作为一种取巧的手段,有很多天生的缺陷。最典型的一个,就是由于省略了计算光线的步骤,同一个场景里面各种物体之间不会有任何光影关系。一些基本的反射、折射效果,比如镜面和水面,单靠光栅化渲染是不能实现的。
现代3D游戏的画面原理和90年代相比其实变化不大
为了解决这些问题,游戏在设计的时候就不得不使用各种各样的奇技淫巧。比如游戏中的镜子,大部分就是把房间翻转以后在镜子里重新渲染一遍。
《我的世界》的玩家也会使用这种技巧人工制造游戏不支持的画面特效,比如这个“光滑如镜”的地面,看上去是地面反射了上面的建筑,其实是透明玻璃,玻璃下面再倒过把上面的建筑再造一遍。
当然,也有使用所谓的“屏幕空间反射”的技巧,靠复制屏幕上已经渲染好的画面元素来实现类似的效果,但是这种方法假如做不好,也很容易出bug。
玩不好就砸了
水面的倒影、金属的反光,很多都是用立方体贴图做个假的,看上去和游戏场景的背景环境环境差不多就行。
甚至有许多游戏场景里复杂的光照效果,都是在制作游戏的时候先用光线追踪预先渲染好物体受到光照会有什么表现,合成出一张光照贴图,等到游戏运行的时候直接拿这张贴图来表现光影的变化,来模拟出“光线追踪”的效果。
使用预渲染光影前后对比
所有这些技巧,想要做到效果说得过去,都需要耗费很多人力和时间。将实时光线追踪应用在游戏里面,不但玩家可以得到加更真实的画面效果,游戏开发团队也可以把精力放在更重要的事情上,而不是去发愁为什么玩家的脸冲着镜子的时候会照出后脑勺。
03
从写实游戏画面的角度来看,光线追踪确实是发展的大趋势。但是现实远比纸上的理论要复杂,最正确的方案不一定是最好的方案。游戏行业一项新技术能够普及,需要开发者和玩家两方面的认可。
从玩家的角度来看,现在体验光线追踪的成本还是有些过于高昂。以Steam数据为例,拥有高性能显卡(GTX1070同等性能及以上)的用户比例只占不到12%。以现在有光线追踪功能显卡的定价来看,光线追踪在PC玩家中的普及程度不太可能超过这个数。
厂商面对这样的市场开发游戏,不可能不照顾到使用中低端显卡的玩家。传统的工序一道都不能省,反而要给光线追踪功能额外做优化。
类似的情景在好几年前曾经出现过一次。那时候物理模拟还是个热门的话题,很多游戏都在宣传自己有可以破坏的场景和各种真实的物理特效。英伟达顺势推出了PhsyX,一个依靠专门硬件可以对粒子和毛发效果进行即时物理演算加速的功能。
物理减速的笑话就不讲了
现在回想起来,PhysX的情况和现在的光线追踪显卡有颇多相似之处。同样被认为是大势所趋的明日技术,性能表现也同样不尽如人意。到这个世代,支持PhysX游戏已经很少。
近年支持PhysX的游戏已经很少了
有的时候,过于真实的游戏体验也不一定是件好事。在《战地5》里面,由于画面比较写实,有些玩家发现只要穿上迷彩服趴下不动就很难被敌人发现。这当然很真实,但是对于不那么硬核的玩家来说,可能就很不友好了。
对星际和战雷玩家很不友好
更何况,游戏的乐趣和游戏的真实程度从来都不能划上等号。
在游戏中实现实时光线追踪确实是一项十分重要成就,很有可能会改变整个游戏业。假如下一代游戏机支持光线追踪的话,情况也许也会有更多的变数。但是从目前的形势来看,期待实时光线追踪在未来几年里面能够普及,也许还是太乐观了一点。
1月28日,英伟达发布了他们2019财年第四季度的报告,带光线追踪功能的RTX显卡销量低于预期,营收比预计下降了5亿美元,也许是这种情况的一个注脚。
扫码关注
游研社公众号
小程序
游研社精选
- 首页
-
- 页 / 共页