代码之家  ›  专栏  ›  技术社区  ›  Mane Manero

金属快速追踪-Scenekit或RealityKit

  •  0
  • Mane Manero  · 技术社区  · 3 年前

    下面的WWDC21演讲展示了如何 "Enhance your app with Metal ray tracing" .

    如何将金属光线跟踪添加到SceneKit或RealityKit应用程序?

    任何基本示例或参考代码都将不胜感激!

    0 回复  |  直到 3 年前
        1
  •  1
  •   ZAY    3 年前

    我花了一些时间为您和其他对此主题感兴趣的人准备示例应用程序。这些应用程序是纯金属的Swift,目前设计为在iOS平台上运行。(我个人推荐一款快速设备)

    在这里,您可以找到第一个“简单”默认Apple RayTracer:

    https://github.com/philvanza/SceneKit-RayTracing

    这里是同一个应用,还有一个支持BSDF的更复杂的光线跟踪器( 双向散射分布函数 )它允许你对透明玻璃进行光线追踪:

    https://github.com/philvanza/SceneKit-RayTracing-Advanced

    基本上,要实现光线跟踪,需要以下几点:

    • 从要光线跟踪的SceneKit节点提取几何体数据
    • 建立一个三角形加速结构(特定于金属)
    • 准备要在GPU上执行的缓冲区
    • 把所有的东西都送到光线跟踪器
    • 随时间累积输出图像

    光线跟踪器运行的时间越长,效果越好。

    要在这里添加太多代码,所以我准备了这个存储库。请随意给我留言,不管你对光线跟踪器有什么看法。

    玩得高兴

    Exaple Image from the Simple RayTracer

    Exaple Image from the Advanced RayTracer