SwiftyCreatives - Swift×Metalで実現するリッチなグラフィックスの可能性 by 桑島侑己

iOSDC Japan 2025
LT(5分)

SwiftyCreatives - Swift×Metalで実現するリッチなグラフィックスの可能性

yukiny_sfc 桑島侑己 yukiny_sfc
1

SwiftでもProcessingのように気軽にクリエイティブコーディング作品を作りたい、そんな思いから作成したSwiftyCreativesライブラリについて紹介します。
このライブラリではMetalベースの独自レンダラーを実装しており、circle()やpush()など直感的なAPIを用いてiOS/macOS/visionOSアプリ上にリッチな2D/3Dグラフィックスを表示させることが可能になります。
本LTではSwiftyCreativesの設計思想とともに、このライブラリを用いたアート作品制作事例、そして公開アプリでの活用事例を紹介し、Swiftを用いたクリエイティブコーディングの可能性を提示します。

公開URL
https://github.com/yukiny0811/swifty-creatives

内容
・既存のMetalラッパーでは満足できなかった背景
・実際にこのライブラリを用いて作った作品を紹介
・コア設計について
・visionOS対応について
・Swiftでクリエイティブコーディングをすることの良さ
・公開アプリでの活用事例紹介

コード例

class MySketch: Sketch {
    override func draw(encoder: SCEncoder) {
        color(1, 0, 1, 1)
        box(1, 1, 1)
        push {
            translate(5, 0, 0)
            box(1, 1, 1)
        }
    }
}
struct ContentView: View {
    var body: some View {
        SketchView(MySketch())
    }
}