作者:Kristof Beets,Imagination Technologies资深产品管理总监
对于任何名副其实地从事AR/VR/XR、产品设计或仿真工作的工程师而言,光线追踪是他们应该熟悉的一种技术。因为它是自三维(3D)图形诞生以来图形技术领域最重要的进步之一,而且它即将从高深的电影和广告领域转向移动、可穿戴和汽车等嵌入式领域,作为全新的、更有效的处理光线追踪的方法进入市场。
如果你去看任何的三维场景,会发现其逼真度很大程度上取决于光照。在传统的图形渲染(光栅化处理)中,光照贴图和阴影贴图是预先计算好的,然后应用到场景中以模拟场景外观。然而,虽然可以实现很美观的效果,但其始终受限于一个事实,即这些技术仅仅是在模拟光照。光线追踪技术则是模拟光照在真实世界中如何表现,以创建更精确、更程序化的反射、透明、发光和材质图像。
在现实生活中,光源发出的虚拟光束会照射到物体上。然后光线会与该物体相互作用,并根据物体的表面性质再反射到另一个表面上。之后,光线会不停地进行反射,从而产生光和影。
计算机中的光线追踪,或者更准确地说是“路径追踪”,其过程与真实世界中的光线照射路径是相反的。光线实际上是从摄像机的视角发射出来,照射到场景中的物体上,然后算法会根据光线所照射到的表面的性质来计算光线将如何与该表面相互作用。之后,会继续追踪每条光线照射到每个物体上的路径,直至返回光源。结果就是一个场景被照亮,就像其被真实世界中的太阳照亮一样:具有逼真的反射和阴影效果。
传统上,由于计算负载太高,无法在嵌入式设备(甚至高端工作站)上实时地执行此操作。
虽然光线追踪在游戏中还是非常新鲜的事物,但许多人已经通过三维动画电影熟悉了光线追踪。在《玩具总动员4》(Toy Story 4)的开场镜头中,雨坑里反射的光线就是最近的一个例子。然而,这些场景需要在专用服务器集群上用数月时间去渲染,这对于游戏来说并不适用,在游戏中场景必须以至少每秒30帧的速度实时生成,最好是两倍速度甚至更高。
在游戏中进行实时光线追踪以前是无法实现的,因为涉及巨大的计算量,但是这种情况已经有所改变,这要归功于将光栅化的速度和光线追踪的视觉精确度结合在一起的混合式方法。在你的手机上运行具有光线追踪功能的游戏将会有多棒?这将在不久的将来成为现实。
有这样一个问题,尽管用于移动设备的实时光线追踪解决方案已经存在了一段时间,但是仍没有一个生态系统来支持它——不过这种情况正在改变。2018年,英伟达(NVIDIA)面向台式电脑市场,尤其是游戏玩家发布了具有混合实时光线追踪功能的硬件。但是就连英伟达在发布该硬件时也没有任何游戏,这突显出为一种新技术打造生态有多么困难。然而,现在诸如Bethesda和Unity等众多游戏开发商已经有所行动,同时2020年的新一代游戏机也将包括一些光线追踪功能。不久之后,光线追踪亦会开始出现在其他市场中——例如AR / VR市场。
结果是,随着光线追踪重新被提上日程以及人们开始在自己的电脑上体验它,大家会逐渐想要去拥有它,并且确实期望它出现在自己的移动设备、VR耳机和游戏机上。因此,为了跟上时代的步伐,工程师们需要开始熟悉这一改变行业的技术的最新进展。