光线追踪是一种用于三维(3D)图形的照明技术,它可以模拟真实世界中的光线照射方式。虽然它能产生最逼真的效果,但是从传统上看,其过程对于计算机而言还是过于复杂,以致无法实时创建三维图形。在本文中,我们将认识光线追踪,并了解实现它的方法。

我们所处的世界充满着由太阳或其它人造光源发射出的数以亿计的光线。当光照射到物体表面时,光线会以各种方式反弹、分散和反射,直至最终到达我们的眼睛。正是这种复杂的交互作用创造了我们的现实“视界”。光线追踪是一种用于三维(3D)图形的照明技术,它可以模拟真实世界中的光线照射方式。虽然它能产生最逼真的效果,但是从传统上看,其过程对于计算机而言还是过于复杂,以致无法实时创建三维图形。

如今,它被广泛用于为广告和电影创建超逼真的渲染效果,但是在这些应用中,即使利用当今功能非常强大的计算服务器,生成每一帧数据仍需花费数小时。光线追踪是个时髦词,作为实时图形的发展方向,它令人们感到非常兴奋(也有人将其视为炒作,这取决于你的看法)。在本文中,我们将认识光线追踪,并了解实现它的方法。

简化问题

在三维游戏中,场景由各种物体组成,当这些物体组合在一起时,就会形成数百万个三角形。光线追踪最基本的功能就是发射出一条光线,然后沿着它在三维场景中的路径来定位它所到达的第一个物体,进而确定应该如何对该物体进行照明。然而,用场景中的每个物体去测试一条光线以确定它们是否相交,这样的做法效率太低、计算成本太高,完全无法实时进行。

因此,为了使用光线追踪技术,我们需要解决这一问题。

使用场景层次结构将兔子划分到多个小方框中

这可以通过建立光线追踪加速结构来实现。为了做到这一点,我们可以围绕整个游戏场景绘制一个方框,然后将其划分为多个较小的方框,再将这些小方框细分为更小的方框,我们按这种方式不断将方框进行细分,直到小方框中的三角形数量达到便于管理的程度为止。我们将其称为场景层次结构,它帮助我们将问题简化到一定程度,使现有的图形处理器可以有效地进行处理。

这种方法之所以有用,是因为当我们向游戏场景中发射光线时,可以根据场景层次结构逐层进行检查。首先,我们要检查光线到底有没有射入最大的方框(即我们的场景)。如果有,我们将继续检查下一层的小方框。在这个阶段,我们会发现光线射入了一些方框,但没有射入另一些方框。接下来,我们可以不断将光线未射入的方框排除在外,只重点关注光线射入的那些方框,直至我们找到光线与三角形相交的地方。至此,我们终于找到了自己的目标。

这种层次结构使我们能够找到光线和三角形最近的交点,而不必测试场景中的每个三角形。这极大地简化了问题,因此可以更快地完成处理过程。

在几何处理阶段(该阶段硬件会完成物体的动画处理工作)之后,我们会将那些三角形置入一个称为场景层次生成器的专用硬件中,该生成器可以生成上面所述的加速结构。我们还添加了一些专门的光线/方框/三角形测试器,它们是专用的固定功能硬件,用于通过加速结构进行光线追踪,并确定光线与三角形的交点。与使用软件可编程管线相比,在专用硬件中完成所有这些操作要快得多,而且更节省面积和功耗。

那么,当硬件确定光线照射到一个三角形之后,下一步该做什么?接下来我们会触发一个片段着色器,这是一个小程序,可以确定该三角形特定位置的颜色,这一步和传统的渲染方式基本相似。然后,通过该片段着色器程序,我们将更多的光线发射到三维场景中,随着此过程的不断重复,就可以建立起我们的光线追踪场景。

一致性问题

但是,现在我们又有一个新问题。我们向场景中发射了大量光线,那么该如何高效地进行所有处理工作呢?我们需要从存储器内的加速结构中获取方框和三角形,并且当每条光线每次照射到一个物体上时都会触发一次片段程序。

不幸的是,光线是不稳定的,它们不一定会沿着同一方向传播。在专业术语中,我们将此描述为不一致性——这会带来问题。不一致的数据访问对现代的图形处理器(GPU)来说是不利的。这有点像在按字母顺序排列的名片簿中查找信息,但给我们的名字却是按完全随机的顺序排列的——这就需要我们不停地来回翻查,会占用宝贵的时间和精力。

光线追踪加速结构

更糟糕的是,当光线随机地向四处反弹时,它们还会照射到不同的物体和三角形上,这些物体和三角形需要分别着色和添加阴影,这将触发不同的着色器程序。然而,GPU喜欢以并行方式处理着色器。这正是GPU的强大之处:以大规模并行方式处理数据的能力使其比其它处理器(如CPU)更具优势。这是因为GPU的算术逻辑单元(ALU)本质上采用了单指令多线程(SIMT)方式。但是,如果每条光线会触发一个不同的着色器,那么将无法在GPU上运行,因为这需要多指令多线程(MIMT)架构,该架构在芯片面积和功耗方面的效率都很低。

针对此问题的一种解决方案是采用Imagination Technologies开发的一致性引擎,该引擎可以追踪光线,并且在场景中所有混乱的光线之间找到秩序。

如果你看下面的图片,一开始可能会觉得光线是随机的。但是,如果你更仔细地观察,会发现实际上是存在一致性的。

为了更清楚地对此进行解释,请注意图中物体的某些部分是如何反射相同黄色对象的。尽管看起来很混乱,但还是会发现有一些光线是沿着同一方向传播的,并照射到了相似的对象上。我们的一致性引擎会对此进行查找,并将这些光线分组,从而使它们更易于被GPU处理。这就是“魔法”,我们重新实现了高效的数据访问和执行,从而降低了处理的功耗以及对带宽的需求。

混合渲染的好处

太好了,我们现在可以高效地进行光线追踪了。然而,正如我们前面说的,现实世界中会有数以亿计的光线向四面八方反射,从而形成我们眼睛看到的图像。因此,即使考虑到我们实现的所有效率提升,使用光线追踪来创建整个场景仍然是有问题的。那么解决方案是什么?混合渲染。

虽然传统的栅格化渲染在如今是一种很好的方法,但它却困扰于空间交互问题,例如灯光/阴影、反射和折射——而这些复杂的事情正是光线追踪所擅长的。通过混合渲染方法,我们可以同时利用两者的优势,对简单的物体使用栅格化渲染,然后从着色器发射一些光线,并有选择性地创建数量有限的空间光线追踪查询,进而创建超逼真的阴影、照明效果和精确的反射。通过使用这种混合渲染方法,我们极大地减少了所需追踪的光线数量,这最终使我们实现了实时性能。

手机上的光线追踪:真的会实现吗?

答案很简单:是的,会实现。如今智能手机中的GPU相比其首次推出时已经取得了巨大的进步,这不仅体现在功能方面,在实际可实现的性能方面亦是如此。事实上,高端智能手机已经突破了1 TFLOPS(每秒万亿次浮点运算)的计算壁垒,而这曾是专用游戏机的专属能力。这其中的核心问题是效率。智能手机依赖于电池续航时间,而光线追踪相比传统的渲染方法更高效,因此它很有可能会很快地被添加到移动设备体验中。

利用上述创新,可以实现高效的光线追踪。在智能手机中,使用传统的栅格化方法在游戏中“伪造”阴影和反射的成本非常高。在Unity或Unreal等现代游戏引擎中,反射是使用级联阴影贴图生成的。这需要多次渲染屏幕中的几何体,并将阴影贴图查找表写入存储器中,所有这些操作都会消耗周期和带宽,并产生大量的GPU和系统功耗。

通过使用光线追踪,可以向光源发射一条光线,如果该光线碰到了光以外的任何东西,我们就知道该片段处于阴影中。所以,使用我们简化且高度优化的光线追踪解决方案会简单得多,相比级联阴影贴图所需的预处理,它是一种功耗更低的解决方案。

在分析我们自2016年以来的原型光线追踪硬件时,我们发现相比阴影、反射和其他技术,光线追踪的功耗通常不到一半,但获得的质量却高得多。这里需要意识到的是,一种复杂但“虚假”的技术比简单的光线追踪技术功耗更高,而光线追踪技术实现的效果却逼真得多,这使得它不仅适合现代的高端智能手机,而且是非常理想的选择。

人工智能和超分辨率

虽然在智能手机中应用光线追踪是一种选择,但我们同样对云游戏的日益普及感到兴奋,这得益于5G网络和边缘计算的发展。在云游戏中,我们的光线追踪架构所实现的带宽和功效很可能也是至关重要的。

我们需要不断地进行创新,才能以更少的成本实现更多的成果,因此,我们对人工智能(AI)处理的飞速发展感到非常兴奋。再加上神经网络,它们可以与光线追踪结合使用,从而提供更高的效率。例如,当我们为了提高效率仅追踪相关光线时,可能会得到含有噪声的结果。神经网络在降噪方面有很好的前景,可以利用学到的“智能”来填补缺失的细节。这和现实中的工作方式是一致的,因为我们的大脑也会填补有限的人类视觉系统留下的许多空白。

神经网络可以用来提高图像质量,同时无需使用更高的分辨率

另一个极具潜力的概念是超分辨率。它同样是利用神经网络的能力,去智能地学习如何填补缺失的细节,以支持GPU以较低的分辨率进行渲染,从而提高性能并降低功耗,同时仍然保持视觉质量。

面向未来

毫无疑问,实时光线追踪拥有光明的前景,这对于任何对三维图形感兴趣的人来说无疑是令人兴奋的。由于光线追踪基于真实世界的物理原理,因此可以提供最高水平的真实感,同时相比我们迄今为止一直在使用的技巧和近似方法,它还可以提供很高的效率。低功耗的栅格化图形处理、开创性的光线追踪操作,再加上人工智能和神经网络的持续创新,所有这些结合在一起,有助于将图形处理提升到一个新的高度。

作者:Kristof Beets,Imagination Technologies PowerVR产品管理资深总监

(参考原文:What is ray tracing and how is it enabling real-time 3D graphics?)

责编:Amy Guan

本文为《电子工程专辑》2020年8月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅  

本文为EET电子工程专辑原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
阅读全文,请先
您可能感兴趣
Rapidus将与博通合作分享其2纳米制程芯片原型,并推动芯片生产的外包。一旦博通确认了芯片性能,Rapidus将能够向博通的客户提供芯片。
尽管Imagination在RISC-V领域取得了一定的成就,但公司似乎认为继续投入资源于RISC-V处理器核心的开发并不符合其长期战略目标。Imagination决定终止其基于RISC-V指令集架构的GPGPU内核的研发工作,并将重心转向其擅长的GPU和AI领域......
Ken Glueck认为,美国2800亿美元的芯片法案所取得的成就,将被出口管制框架夺走,“因为在一项IFR中,它成功地将美国公司的全球芯片市场缩小了80%,并将其交给了中国。”
Intel在CES上发布了面向笔记本的酷睿Ultra 200H, 200HX, 200U系列,基本完善了这一代酷睿Ultra处理器产品线...这也是面向高性能笔记本的酷睿Ultra二代处理器初次亮相。
英特尔临时联席CEO Michelle Johnston还表示,“英特尔会在2025年及以后继续增强AI PC产品组合,向客户提供领先的英特尔18A产品样品,并在2025年下半年量产”。
NVIDIA刚才在CES上发布了GeForce RTX 50系显卡,据说这一代的5070就能达到上代4090的性能水平...
• 目前,iPhone在翻新市场中是最热门的商品,并将长期主导着翻新机的平均销售价格。 • 全球翻新机市场持续向高端化发展,其平均销售价格(ASP)现已超过新手机。 • 新兴市场是增长的最大驱动力,消费者对高端旗舰产品有着迫切需求。 • 由于市场固化和供应链的一些问题限制推高中国、东南亚和非洲等大市场的价格。 • 2024年,这些翻新机平均销售价格将首次超过新手机。
从全球厂商竞争来看,三季度凭借多个新品发布,石头科技市场份额提升至16.4%,连续两季度排名全球第一……
最新Wi-Fi HaLow片上系统(SoC)为物联网的性能、效率、安全性与多功能性设立新标准,配套USB网关,可轻松实现Wi-Fi HaLow在新建及现有Wi-Fi基础设施中的快速稳健集成
其中包含Wi-Fi 7和蓝牙5.4 模组FME170Q-865、Wi-Fi 6和蓝牙5.4 模组FCS962N-LP、Wi-Fi 6和蓝牙5.3模组FCU865R 、独立Wi-Fi和蓝牙模组FGM840R、高功率Wi-Fi HaLow模组FGH100M-H……
大疆发布DJI Matrice 4T旗舰无人机,售价38888元。该无人机可用于电力巡检、应急抢险、公共安全、水利林业监测等众多应用场景。DJI Matrice 4T的镜头模组拥有“六个眼”,除了广角
1月9日,市场研究机构CINNO Research发布2024年全球智能手机面板出货报告称,2024年全球智能手机面板出货量或将同比增长8.7%至22.7亿片,达到历史新高。主流手机品牌全球面板采购量
近日,联想在CES 2025展会上展示了全球首款卷轴屏PC——ThinkBook Plus Gen 6。据悉,ThinkBook Plus Gen 6卷轴屏AI PC的核心魅力在于其独有的可卷曲显示屏
点击蓝字 关注我们SUBSCRIBE to USImage: The Verge据悉,OpenAI已经制定了成为一家营利性公司的计划。在近日发布的一篇博客文章中,OpenAI的董事会表示,将把公司现有
CES 2025,黑芝麻智能携旗下华山系列、武当系列芯片参展,并带来与产业链伙伴的合作新进展。1月8日,黑芝麻智能与汽车嵌入式互联软件产品和解决方案供应商Elektrobit联合发布了基于武当系列C1
手机充电器ic U6773S助推充电便利好享受面对手机存储空间不足的问题,我们可以从多个方面入手,清理缓存、卸载不必要的应用、移动文件至外部存储、使用云存储服务等等。面对手机充电器充电速度慢、效率低的
日前,国家发展改革委等部门介绍了加力扩围实施“两新”政策有关情况,今年第一批消费品以旧换新资金810亿已经预下达。很多网友没有看懂具体政策,下面快科技给大家简单梳理一下,其实一句话来说就是:国四车、家
    大联大控股宣布,其旗下世平推出基于安森美(onsemi)NCP5156x芯片的双通道隔离驱动IC评估板方案。    图
近日,闻泰科技在一场电话会议中阐述了其出售ODM(原始设计制造)业务的战略考量。           闻泰科技表示,基于地缘政治环境变化,考虑到 ODM 业务稳健发展和员工未来发展利益最大化,公司对战
1月8日消息,据外媒报道,由于半导体行业需求衰退,日本瑞萨电子将在日本及海外裁员数百人,并且定期加薪也将被推迟!据报道,瑞萨电子在日本和海外有约21,000名员工,本次裁员比例近5%。这一裁员计划已于