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

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

3天内不再提示

Imagination硬件光线追踪到底有何不同?

Dbwd_Imgtec 来源:Imagination Tech 作者:Imagination Tech 2021-03-02 15:35 次阅读

Imagination 公司技术产品管理高级总监 Kristof Beets 分享了对光线追踪技术的观点以及 Imagination 的光线追踪 IP。

我是Kristof Beets,担任Imagination公司的技术产品管理高级总监。我在IP开发领域工作了20多年,致力于GPU技术,其中涉及从通用游戏到高端游戏的所有GPU技术。在这段时间里我负责过开发者技术支持、Demo开发以及业务拓展。

我一直致力于移动端GPU领域,并在Imagination公司从事相关技术工作,可追溯到2014年我们Plato Boards成立开始光线追踪技术的开发。我现在负责高能效IP的开发,将光线追踪技术推广到各种市场和平台。

Imagination作为一家IP开发公司已经超过35年了,在此期间我们一直处于图形技术的前沿。我们目前专注于移动、嵌入式云计算领域,研究如何通过智能硬件设计为新平台带来最佳游戏体验。

光线追踪是什么?

我们有很多博客和白皮书讨论了光线追踪技术,但从根本上讲光线追踪是建立在现实的基础上的:光线来自于光源,这些光线在物体表面反射并且相互作用(吸收、改变颜色、改变方向),最终这些光线会以某种特定颜色被眼睛所看到。整个过程产生了我们可以看到的视觉效果。你可以想象成从光源到我们希望的成像,正常情况下这个过程是颠倒过来的:我们的眼睛先看到光线,产生反射。目前较有效的方法是混合渲染,我们渲染大部分的传统场景,同时使用光线追踪技术查询要在处理的3D场景像素。

开启光线追踪,获得精细的光照效果

基本上对于反射曲面,你运行着色器,着色器是根据视角方向发射光线的,并在3D场景中查找对象发射到该像素中的内容。从根本上讲光线追踪将空间查询(spatial query)作为一种新功能添加到GPU中,这非常适合现实场景中的很多效果。光线是检查你能否看到(直接或反射)一束光,从而确定该像素是亮的或阴影以及前面提到的反射。

如今GPU的关键在于对于着色器要非常的灵活,如果与通用处理器单元(GPU)形式的计算结合使用则更加的灵活。GPU一直都是这样的特点,将半固定功能的硬件与完全可编程的着色器混合使用从而获得最佳的灵活性和效率。 在图形中光线、阴影和反射一直很流行。从无阴影到斑驳阴影,再到体积模块以及更复杂的过滤器和多分辨率查找,我们经历了很长一段时间。现在,我们使用了如此强大的计算性能和带宽,以至于成本非常高。而使用真正的光线追踪以达到好的光线效果会更快,成本更低,且质量一定比着色器更好。 在我们的光线追踪等级白皮书中对光线追踪的使用有详细介绍。Imagination从一开始就考虑电池供电设备的效率,所以我们的重点一直是光线追踪L4和L5高效解决方案。基本来说,我们完全从着色器(L2和L3的解决方案仅能够实现部分功能)上卸载了光线追踪,并且在照射物体时使用相干性排序来提高内存访问和执行效率。我们追踪和处理成束的光线而不是分散的光线,如果所有光线都朝着不同的方向发射是非常低效的。

不光滑表面隐藏相干性示例

伪造的光线追踪效果

我们讨论了一些关于阴影的技巧示例(例如无阴影、一些简单的斑点、模块、更复杂的阴影贴图),虽然这些技术变得更复杂,但随着你需要更高的画面质量,它们的缺点也越来越明显。

对于反射也可以这样做:无发射,伪造的模糊纹理查找,预烘焙立方体贴图,动态立方体贴图,甚至是部分软件光线追踪,比如屏幕空间反射。使用这种方法,你可以在屏幕空间内执行最少数量的光线追踪,使用方向向量和深度信息来反射附近的对象物体(但并不适用屏幕上的所有对象)。

Imagination推出的硬件级光线追踪IP

我们在2015年就已经将光线追踪单元集成到GPU中,比如我们的Plato硬件平台。这意味着着色器发出光线,专用的单元会采集许多光线并查找相干性。我们将沿相似方向的光线绑定在一起,然后对这些光纤束进行统一处理。我们访问一个BVH(边界卷层次结构)单元模块,首先检查光纤束是否与3D场景相交(基本上是一个非常大的边界框)。如果光线与3D场景相交,我们就沿着盒体的层次结构向下处理;整个场景就会分割成更小的盒体单元,然后我们再检查这个盒体的层次结构。

如果我们的光线束与盒体相交,我们将深入到盒体的层次结构中,直到最终该光束没有任何阻碍。如果直到光束不会击中盒体内的任何地方,我们可以通过快速排除场景内的大部分空间来节省时间和精力。当我们在某个点上看到越来越小的盒体时,我们会切换到实际的三角形几何体,然后我们从盒体光线测试转换到三角形光线测试。当然这是我们要找的光线实际交点,然后我们将其返回着色器码进行处理。

集成到游戏引擎中是很简单的,因为基本上发出光线是标准着色器代码的一部分,比如UE4引擎已经支持这一特性。我们还需要捕获场景信息并创建BVH,这同样是API的一部分,有点像几何处理。游戏引擎通过API将几何图形提交给GPU和驱动程序进行处理。

我们提供的独特性功能是相干性,例如光束处理与我们分块渲染(Tile Based Rendering)类似,后者我们也将像素分组在一起然后在芯片上处理。所以,从概念上看,分块渲染和具有相干性排序的BVH处理L4光线追踪解决方案非常相似,但是在带宽和处理效率上有很大的不同,游戏引擎的性能会更高,效果更好。

为移动平台打造

当然,光线追踪也总是有区别的,但问题是光线仿造的效果成本更高以至于使用专用的硬件功率更大、带宽更高,处理效率也降低。这点对于移动设备和PC端没有什么不同。使用纯粹的着色器图形技术已经不再是正确的选择,而我们的L4方案其效率已超过了PC端,就像我们20多年前创建的分块延迟渲染技术(TBDR)所带来的效果一样,如今它已经成为渲染的行业标准(IMR也不再适用)。

通过增加相干性聚集处理的效率,我们可以减少计算反射和光线相互作用的时间。这也减少了接口调用的次数,这意味着我们可以在低功耗的硬件上运行。

对于移动平台,我们总是希望用更少成本做更多的事,因为移动设备的功耗和带宽都是有限的。我们很高兴使用人工智能神经网络来帮助处理图形技术。很幸运,我们为此开发了专用的加速器,并且能够与开发者合作利用这些单元实现最佳的效果,针对他们所用的硬件平台改进图形和光线追踪效果。

当然,我们还会不断创新。

与硬件的兼容性

我们始终专注于行业标准,因此我们的硬件会将DirectX和Vulkan所需和期望的标准考虑在内,硬件开发者不需要为使用我们做什么,当然他们也没有为其他厂商做什么。而与其他厂商不同的是,我们以更低的功耗和带宽成本来实现,为开发者其他任务留下更多的着色器时间。

提升的空间

工艺技术的演化遇到了瓶颈,例如我们实现了更高密度以及3nm和5nm的晶体管,但是带宽和功率的增长速率并不相同,我们必须拿出解决方案在最有效的处理逻辑上执行工作负载,比如哪些放在CPU和GPU来处理,哪些交给AI引擎来处理。我们也会看到更多的加速器诞生,比如我们的光线追踪引擎,可以提供更高的处理效率,管理更多异构的处理资源。带宽和数据流是很宝贵的,与相干性和分块渲染一样,我们一直在寻找将关键数据保留在芯片上避免使用外部功耗较高的DDR内存或HBM内存(功耗更高)。

我们一直希望用更低的功耗来实现更高的FPS,用更低的处理带宽和更低的功率实现更高的质量,这意味着我们所做的每个部分都要效率最大化。

原文标题:为移动端打造,Imagination的硬件光线追踪到底有何不同?

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

责任编辑:haq

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

    关注

    28

    文章

    4667

    浏览量

    128544
  • 人工智能
    +关注

    关注

    1789

    文章

    46576

    浏览量

    236893
  • 电池
    +关注

    关注

    84

    文章

    10386

    浏览量

    128494
  • 光线追踪
    +关注

    关注

    0

    文章

    182

    浏览量

    21456

原文标题:为移动端打造,Imagination的硬件光线追踪到底有何不同?

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

收藏 人收藏

    评论

    相关推荐

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

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

    RTOS与Linux到底有什么区别

    很多做嵌入式开发的小伙伴都存在这样的疑惑:RTOS与Linux到底有什么区别?
    的头像 发表于 10-29 09:53 170次阅读

    CMOS运放的输入阻抗到底有多高呢?

    都说CMOS运放输入阻抗高,到底有多高呢?可有一个量化指标?
    发表于 09-06 06:59

    求助,这个电路U1A运放同相端的R1电阻到底有什么作用啊?

    想问下这个电路U1A运放同相端的R1电阻到底有什么作用啊?很郁闷。
    发表于 08-27 07:09

    无人机智能巡检系统到底有哪些作用

    无人机智能巡检系统到底有哪些作用? 随着科技的不断发展,无人机已经在光伏、风电、农业、水利、城市管理、地质等领域广泛应用,无人机智能巡检系统的应用,为巡检工作带来了革命行的变革,那么无人机智能巡检
    的头像 发表于 08-19 16:49 228次阅读
    无人机智能巡检系统<b class='flag-5'>到底有</b>哪些作用

    EWSTM8-2201 or 3101安装说明上有的说选“是”,有的说选“否”,二者到底有什么区别?对工程什么影响?

    the installation. ......... 安装说明上有的说选“是”,有的说选“否”,二者到底有什么区别?对工程什么影响?
    发表于 04-28 08:08

    网线到底有多少种连接器

    我们在谈论网线的时候,聊得最多的,一定是它的连接器,它在连接过程中扮演着极为重要的角色。网线到底有多少种连接器?本期我们将从工业级使用出发,来看看这根似乎普通的网线,在连接器上有多么努力。
    的头像 发表于 01-26 10:06 542次阅读

    NUC123的USB外设到底有没有DMA功能?

    下载最新的TRM 1.07: 在最先前的描述以及USB的寄存器章节都有DMA相关的内容。但是DMA那一章节里的框图没有USB外设。同时关于USB外设DMA的用法也没具体说明。所以USB外设到底有没DMA功能,若是该怎么用?
    发表于 01-16 08:26

    全固态电池到底有哪些闪光点?

    全固态电池到底有哪些闪光点? 全固态电池是一种新型的电池技术,相比传统液态电池,具有许多闪光点。下面我将详细介绍这些闪光点。 首先,全固态电池具有更高的安全性。传统液态电池中使用的有机电解液容易引发
    的头像 发表于 01-09 17:09 692次阅读

    AD7280AWBSTZ和AD7280ABSTZ之间到底有什么区别?

    替代吗?在网上找到的两个芯片的相关数据都是一样的,AD7280AWBSTZ和AD7280ABSTZ之间到底有什么区别?
    发表于 01-08 06:36

    COB与SMD到底有什么不同?

    COB与SMD到底有什么不同?  COB和SMD是两种常见的电子元器件封装技术。它们在电子行业中被广泛应用,尤其在LED照明领域。虽然它们都用于将芯片连接到电路板上,但它们在封装技术和应用方面有一些
    的头像 发表于 12-29 10:34 1606次阅读

    母线槽与电缆到底有何区别?

    母线槽与电缆到底有何区别? 母线槽与电缆是电力传输中常见的两种设备,它们有着各自的特点和应用领域。下面将分别从使用范围、结构设计、传输能力、安装维护等方面详细介绍母线槽与电缆的区别。 一、使用范围
    的头像 发表于 12-26 14:02 1511次阅读

    到底有哪些原因会导致电枢绝缘阻值为零?

    对电机多大影响,现在这样用能安全使用多长时间,为什么电枢会是零呢,到底有哪些原因会导致电枢绝缘阻值为零?
    发表于 12-14 08:30

    dB到底有多少种不同的含义呢?

    此同时,我们在很多有噪声监控的十字路口也可以看到这样的指示牌:目前路口噪音60dB。那么dB到底有多少种不同的含义呢? 首先要说到dB的起源,所谓dB,指的就是Deci-Bel,也就是1/10个“Bell
    发表于 11-27 08:26

    电阻的作用到底有哪些

    电阻作为电子电路最基本的元器件,被应用在各个电子电路中。 那为什么电阻可以应用在电子电路的各个地方呢?它的作用到底有哪些?本篇文章将会做一个精讲。 根据官方对于电阻的百科是——导体对电流的阻碍作用
    的头像 发表于 11-06 11:43 1364次阅读
    电阻的作用<b class='flag-5'>到底有</b>哪些