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())
}
}