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

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

3天内不再提示

计算机图形学的“圣杯”——光线追踪技术

Dbwd_Imgtec 来源:YXQ 2019-08-08 11:25 次阅读

对于了解3D图形技术的人来说这个行业正在发生一件真正令人兴奋的事情——实时光线追踪技术的发展。它通常被描述为计算机图形学的“圣杯”,光线追踪技术是使用一种模拟真实世界光线行为的技术来生成3D场景,从而为开发人员提供工具来制作令人难以置信的逼真视觉效果。2016年Imagination公司推出了世界上首款专用的光线追踪加速器。它所提供的强大性能使得该项技术能够应用到实际场景中,2018年英伟达(NVIDIA)为个人台式电脑推出了硬件平台来支持他自己版本的技术,并命名为”RTX”。

在继续深入之前,我们有必要了解一下为什么光线追踪技术如此的重要。光线追踪为开发人员提供了确定场景结构的工具,提供了一种直观的方法来确定3D场景中对象之间的关系,其中一个例子就是反射。假如在一款游戏中有汽车、水坑和地面上熊熊燃烧的火,可是画面里我们却看不到火光,采用光栅化技术火光不能反射到汽车窗户和水坑上,但通过光线追踪技术火焰的反射效果会真实的呈现在屏幕上,这不仅仅是为了创造更加完美的图像,而且还会对游戏玩法产生根本性的影响。想象一下一个敌人匍匐在一个有窗户的地方,玩家躲在角落里,通过光线追踪玩家可以看到敌人在窗户上的倒影,如果采用光栅化技术则需要大量的工作。

光线追踪技术所能够带来的自然效果正是它多年来一直被主要的电影制片厂用于动画电影和效果创作的原因。皮克斯电影“汽车总动员(Cars)”中闪电麦昆(Lighting McQueen)的闪亮反光、“钢铁侠(Iron Man)”的反光服以及“变形金刚(Transformers)”中的伪装机器人都是得益于光线追踪技术。

你可能会问,既然光线追踪技术如此之好,为什么用它来创建游戏和其他3D场景还不是一项标准呢?原因是从计算性能的角度来看,它的代价非常的“昂贵”,超出了传统硬件的能力范围。顾名思义当跟踪光线时处理器必须跟踪从光源发出的所有光线,并计算每个光线如何与场景中的每个对象和表面交互。当每一束光线照射到一个物体时,根据物理表面的类型,它可能会被吸收、反射、折射或者被散射,这可能会产生数千条额外的光线,而且都需要进行跟踪计算,这个过程被称为全局光照。光线追踪的性能度量单位是每秒数百万条光线,这是理论上的度量标准,类似于GPU的填充率单位GPixels/sec和GPU的计算性能单位GFLOPS。

在电影制片厂强大的工作站可以配备高端的显卡,这会非常的耗电,它可以不计时间成本和功耗来在本地构建场景中所需要的光线情况。然而对于便携设备或汽车上的仪表则无法完成这样的处理过程,需要的效果要达到每秒60帧(fps)或更高,这同时会受到移动电源电量的限制。

为什么我们要采用光栅化技术?

由于这些限制3D图形的标准是一种称为光栅化的技术,即使用三角形网格来创建3D对象,然后会被映射到一个二维平面上进行纹理和阴影的处理,这种方式相比光线追踪对于计算性能的要求更低一些,并且由于其高度并行的特性,现在GPU已经被高度的优化从而更加有效的分析和处理阴影三角形。

然而决定每个像素外观的着色器只能“伪造”真实世界的灯光,这限制了真实感,虽然采用基于光栅化的技术可以用来模拟光线追踪,比如高光材质,但是计算负载会增加,处理带宽会增大,整体能耗成本也大大提高,同时会增加复杂性使得效率明显降低,因此权衡各方面的情况采用光栅化技术模拟光线追踪效果是不合适的。

与光栅化相比,光线追踪是一种内在优雅的解决方案,它的渲染算法可以用来创建不依赖阴影映射(Soft Shadow)或其他光照(Lighting)等工具的光照阴影效果。举个例子,在栅格化中动态立方体(Cube Map)映射经常被用来模拟反射,然而这些不仅耗费计算性能和带宽,而且由于分辨率的限制,当更新和进行像素化时还会有延迟问题。类似地级联阴影映射(Cascaded Shadow Map)它使用百分比的过滤方式来确定软阴影效果,这就需要额外的几何处理、计算、像素着色等大量的工作,并且消耗额外的带宽。那么这些问题在光线追踪看来,都是开销极小的微不足道的问题。

这并不是说光线追踪就不复杂,需要专业的知识有效的利用它,一旦这项技术被理解并被内置到工作流程中就会让开发人员更加有效率的工作,让他们更加专注于应用程序方面的开发。

为了将图形技术提升到一个新的水平,转向光线追踪技术是很有意义的,下图是Imagination在2012年首次发布并展示了光线追踪架构发展过程。

PowerVR光线追踪技术的发展

从另一个角度来看

Imagination公司的光线追踪技术做了两件开创性的事情,首先我们推出了“混合渲染”的概念,传统的光栅化技术用于大部分场景,而光线追踪技术用于最重要的部分,即反射和阴影,从而大大降低了所需的计算性能和带宽。

第二种方法是使用一种叫做“反向光线追踪”的技术,这推翻了光线的概念,从光源发出的光线经过周围场景的发射最终到达我们的眼睛,相反,光线从观察者或“相机(camera)”投射到场景中,当光线到达表面时就可以被追踪到光源,如果不能追踪到光源那么就不需要计算了,这样就大大降低了计算的复杂度。

光线追踪将光线投射到场景中来构建算法

NVIDIA在其新的基于图灵架构的显卡上采用了类似的方法,传统的光栅化硬件和专用的芯片相结合,专门设计用于加速一些光线追踪的计算。当然不提供相应的API和软件的硬件是没有用的,NVIDIA已经与微软合作使得DirectX12 API开始支持光线追踪,而采用PowerVR光线追踪的开发人员可以通过开放标准使用OpenGL ES™和Vulkan®扩展库。

随着游戏“战地5”的更新补丁提供对RTX的支持,开发者DICE首次将光线追踪引入主流市场,需要注意的是由于性能的原因,光线追踪只在游戏中应用于发射面,如汽车面板和水坑,阴影仍然需要采用光栅化处理。尽管如此在游戏中启用光线追踪功能所带来的巨大性能冲击还是招致了一些产品评论者的批评,尤其是考虑到这款显卡的购买成本超过了1200英镑——这是消费级显卡有史以来最高的价格。

值得注意的是“战地5”是第一款支持RTX的上市游戏,Epic公司还承诺提供更多的技术支持,同时还宣布支持其广泛使用的虚幻引擎,看着这些发展如何影响市场将是一件非常有趣的事情。

尽管围绕着NVIDIA RTX显卡的发行和游戏中的性能存在诸多问题,但让实时光线追踪成为现实是一项值得关注的进步,应该受到每一个关心图形技术发展的人的赞赏。

不同的架构如何进行比较?

Imagination公司最初推出的“Wizard”光线追踪GPU结合了PowerVR Series6 GPU和光线追踪单元(RTU),专用于加速光线追踪,而且在智能手机功率范围之内(采用28nm工艺技术,相比现在的7nm工艺(提供更高的密度,功耗更低)落后很多)。我们的硬件比传统的GPU能够快100多倍,这使得光线追踪第一次成为现实。Imagination公司在这方面领先于市场,到2016年已经生产出集成到PCIe评估办卡的器件,用于演示和开发的目的。到目前为止PowerVR光线追踪相关专利已经超多220项,包括已经授权和正在申请中的。

将Imagination的架构与NVIDIA的解决方案进行比较是非常有趣的,PowerVR光线追踪在硬件上提供了一个场景层次生成器(SHG),SHG生成一个边界体积层次数据结构,该结构的设计可以大大提高了检测哪些三角形与哪些光线相交的效率。使用传统蛮力的方式需要测试每个三角形和每一条光线,这在计算上代价太大而且无法做到实时执行。

PowerVR光线追踪

PowerVR场景层次结构生成器将场景分割为一个由包围框组成的层次结构,本质上是一个包含所有场景的框架,然后按层次将其分割为更小的模块,直到最小的模块包含数个三角形模型。这种分层方法通过检查光线的交叉,然后反向追踪直到找到正确的三角形,从而可以减少测试的数量。

虽然Imagination和NVIDIA的核心在硬件上都包含光线/模型盒的交集,并且都使用了包围体层次结构(BVH)数据结构,但是在硬件上只有Imagination拥有场景层次生成器(SGH),这意味着我们能够更有效的支持动态几何模型场景(比如游戏中的动画角色)。

PowerVR的另一个关键区别点是可选择模块,称为光线相关引擎(Ray Coherency Engine)。当光线照射到三维场景中的天然材料时,它们往往会随机散射,因此不太可能是相关的。这种随机光线的行为意味着当光线被处理时它们会在不同的方向碰撞和发散,从而与不同的盒子/三角形模型相交,这大大降低了内存访问效率,从而降低了性能。相关引擎发现光线之间的共性,然后将它们组合在一起,从而提高芯片的运行效率。

AMD目前还没有推出专门用于光线追踪的硬件,而且使用着色器来执行所有光线追踪计算,这样就导致性能大大的降低了。

NVIDIA RTX

由于可以放入场景的光线数量有限,为了在可接受的帧率下产生高质量的结果,需要对图形进行去噪处理,NVIDIA使用Tensor核心来实现这一功能,而Imagination则使用PowerVR神经网络加速器(NNA)来执行这一重要的后处理操作。

我们经过验证的解决方案是非常高效的,Wizard SoC仅需要2W的功率就可以正常运行,而使用较老的28nm工艺技术构建的演示板卡则需要10W左右的功率,以600MHz处理峰值速率为300MRay/sec。

NVIDIA声称图形芯片在1.5GH/z时处理速率可达到8GRay/sec,是时钟频率的2.5倍,功率效率为225W。在2.5x时钟条件下PowerVR光线追踪性能可达到750MRay/sec,甚至还可以达到8GRay/sec的性能,因此我们可以合理的得出结论,我们在现代SoC实现的解决方案将比NVIDIA的方案更加的高效节能。

AMD光线追踪

想象一下其中的可能性!

现在光线追踪的第一次尝试已经进入到主流消费者的视野,他们可能想要看到更多的进展。一旦玩家开始意识到光线追踪所带来的好处,他们就会希望自己的移动设备、游戏机甚至汽车也能够有同样的体验,光线追踪还可以为许多视觉体验带来巨大的价值。厨房零售商可以进行3D渲染,使客户可以看到他们新买的产品,光线追踪可以把展示效果提升到新的水平。

光线追踪可以用于增强数字仪表和3D汽车模型的真实感,它可以从相机上获取数据,准确的将环境光反射到3D汽车模型上,这样司机就可以更准确的判断距离。

虽然AR和VR应用还没有进入到主流市场,但仍然有很多人相信它们最终会成为主流。当涉及到VR时为了确保一切正常还需要可变采样率(variable sample rates)和注视点渲染技术(foveated rendering),结合我们的混合光线追踪技术实现起来更加的容易。

在本地处理还是放在云服务端?

虽然NVIDIA的解决方案专为功耗不高的游戏PC机而设计,但我们注册专利的光线追踪技术,设计理念以“移动优先”,是一种理想的选择,可以从电池供电的设备(如智能手机)扩展到便携式或永久供电的游戏机平台。

基于云计算的游戏也被广泛预测将作为本地硬件的补充,并最终取代使用互联网的高性能游戏架构,为使用低配置的玩家提供高质量的游戏体验。然而功耗成本和散热管理是服务器集群面临的关键挑战。光线追踪在这种情况下是非常有效的,事实上可以帮助更多基于云服务的游戏提升体验效果。游戏中每个玩家的状态信息可以进行实时更新然后发送给服务器上的其他玩家,光线追踪技术用于生成每个玩家独特的场景视角,而不是采用光栅化来处理每个视角中的几何模型。这可以大大降低服务端的系统功耗,同时带来惊人的视觉效果。

光线追踪是一项颠覆性的技术,有望彻底改变3D图形技术的发展。Imagination公司推出的PowerVR光线追踪是一种可广泛使用的可授权的架构,能够支持独立的光线追踪处理器或者混合光线追踪/光栅化平台。如果你想要创建能够以较低的成本和更高效的方式来展示最先的图形效果的产品,那么你现在就应该和Imagination取得联系。

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

    关注

    0

    文章

    183

    浏览量

    21462

原文标题:关注光线追踪技术

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

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

    光线追踪算法概览

    本文翻译自Scratchapixel3.0[1],是一个关于计算机图形学的系统性的学习教程。如果有误,欢迎在评论区讨论。由伊本·海塔姆描述的现象解释了我们看到物体的原因。基于他的观察,可以得出两点
    的头像 发表于 10-12 08:07 123次阅读
    <b class='flag-5'>光线</b><b class='flag-5'>追踪</b>算法概览

    计算机局域网技术是什么

    计算机局域网(Local Area Network,LAN)技术是指在较小的地理范围内(如一所学校、一个公司或一栋大楼内),将各种计算机、外部设备和数据库系统等通过特定的连接介质(如有线电缆、光纤或
    的头像 发表于 10-08 10:23 221次阅读

    光线追踪的工作原理

    本文翻译自Scratchapixel3.0[1],是一个关于计算机图形学的系统性的学习教程。如果有误,欢迎在评论区讨论。注:本课程更多地是关于3D渲染的一般介绍。如果您有兴趣了解射线跟踪技术,请查看
    的头像 发表于 09-30 08:05 173次阅读
    <b class='flag-5'>光线</b><b class='flag-5'>追踪</b>的工作原理

    晶体管计算机和电子管计算机有什么区别

    晶体管计算机和电子管计算机作为计算机发展史上的两个重要阶段,它们在多个方面存在显著的区别。以下是对这两类计算机在硬件、性能、应用以及技术发展
    的头像 发表于 08-23 15:28 1336次阅读

    什么是GPU技术?它有哪些应用?

    GPU技术,即图形处理器(Graphics Processing Unit)技术,是一种专门设计用于处理图像和图形数据的微处理器技术。随着
    的头像 发表于 08-22 14:34 1040次阅读

    计算机视觉的五大技术

    计算机视觉作为深度学习领域最热门的研究方向之一,其技术涵盖了多个方面,为人工智能的发展开拓了广阔的道路。以下是对计算机视觉五大技术的详细解析,包括图像分类、对象检测、目标跟踪、语义分割
    的头像 发表于 07-10 18:26 1181次阅读

    工业计算机与普通计算机的区别

    在信息化和自动化日益发展的今天,计算机已经成为了我们日常生活和工作中不可或缺的工具。然而,在计算机领域中,工业计算机和普通计算机虽然都具备基本的计算
    的头像 发表于 06-06 16:45 1185次阅读

    计算机图形学:探索虚拟世界的构建之道

    计算机图形学计算机科学的一个分支,它专注于创建和操纵计算机生成的视觉和图形内容。这一领域涵盖了从基础的二维
    的头像 发表于 05-07 08:27 351次阅读
    <b class='flag-5'>计算机</b><b class='flag-5'>图形学</b>:探索虚拟世界的构建之道

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    感觉量子技术神奇神秘,希望通过阅读此书来认识量子计算机。 先浏览一下目录: 通过目录,基本可以确定这是一本关于量子计算机的科普书籍,主要包括什么是量子计算机、量子
    发表于 03-05 17:37

    基于 GPU 渲染的高性能空间包围计算

    空间包围检测在计算机图形学、虚拟仿真、工业生产等有着广泛的应用。
    的头像 发表于 02-18 10:47 651次阅读
    基于 GPU 渲染的高性能空间包围<b class='flag-5'>计算</b>

    量子计算机的作用有哪些

    认为是未来计算机技术的重要发展方向。 一、量子计算机的基本概念 量子计算机的核心是量子比特,与经典计算机中的比特不同,量子比特可以同时处于0和1的状态,这种现象被称为“叠加态”。此外,
    的头像 发表于 12-30 14:32 1812次阅读

    工业计算机与商用计算机的区别

    工业计算机与商用计算机的区别  工业计算机和商用计算机是两种应用于不同领域的计算机系统。虽然它们在技术
    的头像 发表于 12-27 10:50 589次阅读

    图形渲染的技术和原理:探索视觉效果的奇妙世界

    图形渲染是计算机图形学领域的核心技术之一,它通过将三维模型转化为二维图像,实现了各种视觉效果的呈现。无论是电影特效、视频游戏还是虚拟现实,都离不开
    的头像 发表于 12-13 08:28 845次阅读
    <b class='flag-5'>图形</b>渲染的<b class='flag-5'>技术</b>和原理:探索视觉效果的奇妙世界

    计算机快速全息生成技术研究

    快速全息生成技术依赖于计算机生成的全息影像 (CGH) 的快速创建。目前,基于光线追踪计算机生成全息图的快速生成方法仍基于非物理
    的头像 发表于 12-12 11:15 491次阅读
    <b class='flag-5'>计算机</b>快速全息生成<b class='flag-5'>技术</b>研究