架构|硬件小知识:第二代光追详解 真那么厉害?

中关村在线10月13日05:36【架构|硬件小知识:第二代光追详解 真那么厉害?】当玩家之间还在探讨20系显卡的光线追踪是否实用的时候 , 搭载第二代光线追踪的30系显卡来了 , 第二代光线追踪技术在NVIDIA的宣传中相比上一代都做了哪些改进 , 今天笔者给大家通俗易懂的进行简单介绍 。
架构|硬件小知识:第二代光追详解 真那么厉害?文章插图
其实 , 光线追踪(Ray Tracing)的概念在很早就已经被人所提出了 。 光线追踪技术其实就是将光源产生的光线所产生的折射 , 反射等光线变化和对阴影产生的反应通过计算准确的反映到画面之中 , 为人们带来百分之百的光影效果 。
架构|硬件小知识:第二代光追详解 真那么厉害?文章插图
光线追踪的演变经历了约半个世纪
光线追踪这一技术对于我们其实不难理解 , 毕竟在生活中随处可见 , 但应用到图形领域则其算法于1979年由Turner Whitted提出 。 那么为什么直到2006年 , 皮克斯的《Cars》才开始使用这项技术用于光线渲染呢?那就是因为其所需要的计算量实在是过于庞大 , 上面提到的Turner这张512×512的渲染DEMO当时支持的计算机就要耗费上百万美元 , 还是花费1.2小时才渲染完成 , 足见其耗费的资源是如何巨大 。
相较于初代的Turing RTX架构 , NVIDIA Ampere架构在算力上有着成倍的增长 , 同时新的架构翻倍了光线与三角形的相交吞吐量 , RT Core达到58 RT TFLOPS , 而Turing为34 RT TFLOPS 。
架构|硬件小知识:第二代光追详解 真那么厉害?文章插图
光线追踪的计算示意图怎么理解上面这句话 , 首先要知道RT Core的工作原理是 , 着色器发出光线追踪的请求 , 交给RT Core来处理 , 它将进行两种测试 , 分别为边界交叉测试(Box Intersection testing)和三角形交叉测试(Triangle Intersection testing) 。
架构|硬件小知识:第二代光追详解 真那么厉害?文章插图
光线追踪计算流程
基于BVH算法来判断 , 如果是方形 , 那么就返回缩小范围继续测试 , 如果是三角形 , 则反馈结果进行渲染 。
而光线追踪最耗时的正是求交计算 , 因此 , 要提升光线追踪性能 , 主要是对两种求交(BVH/三角形求交)进行加速 。
架构|硬件小知识:第二代光追详解 真那么厉害?文章插图
NVIDIA Ampere增加的部分
在Turing的RT Core中 , 可以每个周期完成5次BVH遍历、4次BVH求交以及一次三角形求交 , 在第二代RT Core 里 , NVIDIA增加了一个新的三角形位置插值模块以及一个的额外的三角形求交模块 , 这样做的目的是为了提升诸如运动模糊特效时候的光线追踪性能 。
架构|硬件小知识:第二代光追详解 真那么厉害?文章插图
运动模糊原理示意
再简单一点 , 我们用示意图来解释光追 , 左边是基本的光线追踪流程 , 只需要考虑光线的方向 , 在得出需要追踪的边界体积后 , 再计算三角形的相交面 , 最后输出结果 。
当加入了运动模糊后 , 除了方向还需要计算时间因素 , 最终可以得到为以后的图形 。
架构|硬件小知识:第二代光追详解 真那么厉害?文章插图
运动模糊渲染原理
如果要对运动模糊的过程进行完整渲染 , 第一代RT Core则需要计算多个图形 , 最终再进行完整输出 , 而第二代RT Core可以让光线追踪与着色同时进行 , 进行的光线追踪越多 , 加速就越快 , 它将光线相交的处理性能提升了一倍 , 在渲染有动态模糊的影像时 , 按照NVIDIA自己的实测 , 比Turing快8倍 。