0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

光线追踪如何实现实时三维图形

电子设计 来源:电子设计 作者:电子设计 2022-02-14 16:22 次阅读

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

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

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

简化问题

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

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

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

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

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

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

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

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

一致性问题

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

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

pIYBAGAICPCAGiW0AACSIuKF_SQ951.png

光线追踪加速结构

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

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

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

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

混合渲染的好处

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

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

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

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

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

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

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

人工智能和超分辨率

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

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

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

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

面向未来

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

作者简介:


Kristof Beets,现任Imagination Technologies的PowerVR产品管理资深总监,他已在Imagination工作超过19年,先后担任过各种开发、产品和营销职位。

申请转载文章
公众号:物理演示实验室(UPC-Phy-Demo-Lab)
审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 光线追踪
    +关注

    关注

    0

    文章

    183

    浏览量

    21462
收藏 人收藏

    评论

    相关推荐

    GPU在虚拟现实中的表现 低功耗GPU的优缺点

    数据,以实现沉浸式的体验。以下是GPU在虚拟现实中的几个关键表现: 图像渲染能力 :GPU需要快速渲染复杂的三维场景,以保持高帧率,这对于减少运动模糊和晕动症至关重要。 实时光线
    的头像 发表于 11-19 10:58 194次阅读

    基于光线追踪实现反射折射效果

    本文翻译自Scratchapixel3.0[1],是一个关于计算机图形学的系统性的学习教程。如果有误,欢迎在评论区讨论。光线追踪的另一个优点是,通过扩展光线传播的思想,我们可以非常容易
    的头像 发表于 11-09 01:07 132次阅读
    基于<b class='flag-5'>光线</b><b class='flag-5'>追踪</b><b class='flag-5'>实现</b>反射折射效果

    基于光线追踪的渲染算法实现

    我们已经涵盖了所有需要说的内容!我们现在准备写我们的第一个光线追踪器。你现在应该能够猜到光线追踪算法是如何工作的了。首先,注意到自然界中光的传播只是从光源发出无数条射线,反弹直到它们撞
    的头像 发表于 10-30 08:06 209次阅读
    基于<b class='flag-5'>光线</b><b class='flag-5'>追踪</b>的渲染算法<b class='flag-5'>实现</b>

    三维可视化技术主要领域及其具体运用

    三维可视化技术是一种强大的工具,它利用计算机图形学、图像处理和虚拟现实等技术,将复杂的数据转化为直观的三维图像,以便更好地理解和分析信息。这种技术在多个领域都有广泛的应用,以下是几个主
    的头像 发表于 09-11 16:40 362次阅读

    泰来三维 三维激光扫描结合BIM在工厂扫描建模中的优势

    BIM技术是建设项目实施前的建筑信息模型搭建,三维激光扫描技术则是现实物体的三维信息数字化。BIM具有可视化、协调性、优化性、模拟性和可视图形的特点,而
    的头像 发表于 07-19 10:39 352次阅读

    起点,经过点,终点,点xyz,画三维圆弧。

    大家好!已知,起点,经过点,终点,点xyz,画三维圆弧。在三维图片框里面画。该如何实现?甚至三维点,直线,圆弧,圆。都可以画。
    发表于 07-17 21:33

    Labview实现自定义四云图(三维曲面图像)可视化显示

    函数基础上,对其中的数据与程序进行修改,实现了曲面云图颜色效果的自定义配置,提升了Labview的可视化应用性。本文以Labview自带的“绘图帮助(向量)”vi作为对象,详细说明具体配置方法,并基于“三维曲面图形”范例对配置前
    发表于 07-16 10:52 52次下载

    三维可视化运技术的主要特点和应用

    三维可视化运技术是指利用三维可视化技术对建筑设施、设备和系统进行全方位的监测、管理和维护。这种技术将现实世界的物理对象以三维模型的形式呈现
    的头像 发表于 07-03 16:06 290次阅读

    三维可视化系统平台介绍及优势

    三维可视化 系统平台是一种基于三维技术开发的软件系统,主要用于实现三维空间中数据、模型、场景等内容的可视化展示和操作。这样的系统平台在各个领域都具有广泛的应用,包括但不限于建筑设计、
    的头像 发表于 06-12 16:02 582次阅读
    <b class='flag-5'>三维</b>可视化系统平台介绍及优势

    三维可视:展现未来的视觉盛宴

    带你了解这一领域的种种奇迹。 一、三维可视化技术的定义 三维可视化技术是基于计算机图形学和计算机视觉的一种技术,用于创建和呈现逼真的三维场景。通过使用复杂的算法和图像处理技术,它能够模
    的头像 发表于 06-05 15:48 288次阅读

    泰来三维|三维扫描服务_三维扫描助力园区改造公园

    三维激光扫描仪利用激光反射测距原理,通过接受和返回的信号,获取点云三维空间坐标。这种测量方式可以无接触快速获取大型建筑三维空间数据,实现实体建筑的高精度数字化。 根据
    的头像 发表于 05-07 11:44 242次阅读
    泰来<b class='flag-5'>三维</b>|<b class='flag-5'>三维</b>扫描服务_<b class='flag-5'>三维</b>扫描助力园区改造公园

    2024新款管材加工神器--LT-HP90三维激光切管机

    包括以下方面:高效率:三维激光切管机能够实现快速切割,提高生产线的加工效率。高精度:无论是复杂的三维图形坡口切割还是简单的直线切割,该机器都能保证切割的精确度,确
    的头像 发表于 04-25 10:39 253次阅读
    2024新款管材加工神器--LT-HP90<b class='flag-5'>三维</b>激光切管机

    探索管材加工的未来-高速三维激光切管机

    编辑:镭拓激光想要拥有闪电般的切割速度,同时又不失精准度吗?高速三维激光切管机,以雷霆之势,带您进入高效切割新纪元。无论是复杂的三维图形还是简单的直线切割,它都能轻松应对,速度与精度并存,为您
    的头像 发表于 04-12 14:22 289次阅读
    探索管材加工的未来-高速<b class='flag-5'>三维</b>激光切管机

    泰来三维|文物三维扫描,文物三维模型怎样制作

    文物三维扫描,文物三维模型怎样制作:我们都知道文物是不可再生的,要继续保存传承,需要文物三维数字化保护,所以三维数字化文物保护是非常重要的一个技术手段。 那么文物
    的头像 发表于 03-12 11:10 554次阅读
    泰来<b class='flag-5'>三维</b>|文物<b class='flag-5'>三维</b>扫描,文物<b class='flag-5'>三维</b>模型怎样制作

    泰来三维|见过三维扫描乌贼吗?三维扫描助力仿生设计学研究

    利用双光源手持3D扫描仪EinScan H2三维扫描仪对乌贼整体 重点躯干进行扫描,获取乌贼三维扫描点云模型。扫描过程中通过软件可以实时看到扫描进度以及扫描数据质量。
    的头像 发表于 01-26 11:25 363次阅读