最近NV闹得很火的实时光线追踪技术 到底是个啥玩意

光线追踪

而在电影行业中,早就用上了我们提及的光线追踪,他们已经有相当成熟的解决方案,完全可以达到以假乱真的效果,你看看漫威的科幻大片,是不是给你一种异常真实的错觉?没错,这就是光线追踪的魅力。

至于为什么电影行业能这样做,原因不外乎有两个:一是有时间,他们采用的离线光线追踪,是要慢慢一帧帧渲染出来;二是有钱,通常特效工作室会使用到NVIDIA所说的渲染农场,不是一台电脑在算,而是一个个渲染集群服务器在工作,算力是你机箱里的GTX 1080 Ti成千上万倍,因此它们可以这样玩。

光线追踪的历史

其实光线追踪并不是近几年才有的概念,它的历史甚至可以追溯到上世纪70年代。

1968年,Arthur Appel在其论文《 Some techniques for shading machine rendering of solids》提出Ray Casting(光线投射)的新概念,这也是后来光线追踪的基石。

其具体思路是从每一个像素发出一条光线,然后找出会挡住传播路径的物体,那么只要计算被挡住之前的传播路径(直接光照部分),而视平面上每个像素的颜色取决于从可见光表面产生的亮度。

1969年就任于IBM的Arthur Appel在《Some Techniques for Shading Machine Renderings of Solids》论文中首次提出Ray Tracing(光线追踪)。此技术可追踪通过2D视平面上每个像素发射的光线路径,并应用到场景的3D模型中。

但一直等到10年后的1979年,Turner Whitted才继续在论文《An Improved Illumination Model for Shaded Display》中,具体解析如何捕捉反射、阴影和反射。在光线投射的基础上,加入光与物体表面的交互。

光线追踪主要思想是从视点向成像平面上的像素发射光线,找到阻挡光线传播的最近物体,如果交点表面为散射面,则计算光源直接照射该点产生的颜色;如果该交点表面为镜面或折射面,则继续向反射或折射方向跟踪另一条光线,如此往复循环,直到光线射出场景或者达到规定计算次数(还是为了节省资源)。这个方法被称之为经典光线跟踪方法或者递归式光线追踪方法。

顺带提醒一下大家,Turner Whitted作为光线追踪的创始人,目前就任于NVIDIA 研究事业部,所以你能理解NVIDIA为什么那么热衷于光线追踪追踪了吗?

光线追踪目前的瓶颈——计算量庞大、小样本计算噪点

光线追踪是三维计算机图形学中的特殊渲染算法,它与之前计算光源光线传播路径不一样,利用光的可逆性质,反向计算,跟踪从眼睛发出的光线,通过技术生成编排好的数学模型展现出来,这样的得到画面效果更佳,对于反射与折射有更准确的模拟效果,并且效率非常高,因此在电影制作过程往往会采用这种高质量的渲染方式。

但很遗憾,光线追踪最大缺陷在于对算力要求极高,计算量非常庞大,目前的单一硬件很难满足实时光线追踪的需求。光栅图形学中的算法,利用了数据的一致性从而在像素之间共享计算,而光线跟踪通常是将每条光线当作独立的光线,每次都要重新计算。所以尽管电影特效工作室有庞大的计算集群,但他们也会“偷懒”,只有在关键帧、关键元素上采用光线追踪来处理,其余部分依然使用光栅化进行渲染,依然能够提供非常出色的画面效果。由此可想而知计算量之大。

按道理来说,每一条光线都有自己的计算,可以正确地处理出光线反射、折射等光学现象,但实际出来的效果有可能与真实情况不一样。这因为最终的画面是求解通过渲染方程得到,但有时候方程式解不出来,只能利用蒙特卡洛积分做近似解,需要用到大量的样本进行求解,在电影使用的离线渲染中,由于没有计算时间限制,他们通常会采用几百到几千以内大样本进行计算,出来的光线追踪效果会更好。

一旦用到游戏上就不同了,要达到60fps,也就是一帧只有16ms时间给你进行光线追踪运算,那么样本只能尽可能小,这样就会导致出来解不够准确,画面会有大量噪点。

NVIDIA开创了实时光线追踪新时代

NVIDIA已经预料这一点,针对极低样本数量的光线追踪结果进行实时降噪的研究,并且取得了不错的结果,最后成为GameWorks SDK 中一个光线追踪降噪模块,也就是Denoising算法。最终可以用比较低样本的光线追踪应用到实时渲染中,最终渲染质量可以媲美大样本下的光线追踪收敛图像。

另一方面,随着显卡计算性能日益提升,NVIDIA认为显卡加入硬件级光线追踪支持的时机已经成熟,光线追踪也会成为未来3A级游戏竞相使用的技术,以达到玩家们梦寐以求的画面效果。因此NVIDIA在经历Volta游戏显卡跳票后,带来了拥有专门处理光线追踪的RT Core的Turing游戏显卡,不仅仅可以让游戏开发者进行实时光线追踪计算,所见即所得,而玩家也能从游戏中感受到前所未有、电影级的画质。

就像NVIDIA所说的那样,图灵架构显卡凝聚了过去10年里在计算机图形算法和 GPU 架构领域所取得的成果。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();