迅捷金属乐

适用于iOS和macOS的超快速着色器和管线探索

在过去的几年中,与许多开发人员一样,在Swift Playgrounds中工作时,我对编辑/编译/运行周期的速度不满意。

Swift Playgrounds让我们有机会轻松编写快速代码以测试概念,而无需构建完整的应用程序,部署到设备或模拟器以及观察结果。 我已使用Swift Playgrounds更好地了解了许多技术,包括:

  • 斯威夫特语言概念
  • 核心动画
  • SpriteKit
  • 场景套件

一个让我难以理解的领域是在Swift Playground的Metal中工作。 Metal是Apple的底层图形系统,旨在利用自己的硬件并提供出色的性能。 我相当怀疑是否有直接在Metal中工作的实际输出-SceneKit对我来说做得很好-但我仍然感到需要挠痒痒。 因此,另一个游乐场冒险开始了。

配置游乐场

在创建用于Metal开发的游乐场时,需要将其设置为macOS游乐场。 iOS操场不符合条件,因为模拟器无法提供我们进行Metal开发所需的直接GPU访问。

我们需要导入一些框架。 为了处理我们的macOS视图,我们需要访问Cocoa。 我们需要Metal才能与Metal合作。 最后,我们需要PlaygroundSupport才能显示Metal视图。