UISwift
SwiftShaders
SwiftUI のビュー向けの Metal シェーダーエフェクト: 色、ブラー、ディストーション、リップル、トランジション。
7スター数最新リリース: v2.0.0更新日: 2026年10月14日
対応プラットフォーム:iOS 17macOS 14
ライセンス: MIT
iOS 17 以降と macOS 14 以降向けの、依存関係のない Swift パッケージです。各エフェクトは、SwiftUI 自身の colorEffect、distortionEffect、layerEffect の上に構築された1つの view モディファイア、fill、または transition であり、どのビューでも動作します。公開されているすべての引数は GPU に渡る前にチェックされ、エフェクトはビューを描画してピクセルを比較するテストで検証されています。
機能
- 31個の [[ stitchable ]] Metal 関数に支えられた、26個の view モディファイア、3個の fill、5個の transition
- 引数のチェック: 範囲は clamp され、NaN はエフェクトをオフにし、sample offset はビューの対角線内に制限され、gradient map は最大256色までです
- きれいなエッジ: 近傍のピクセルを比較するエフェクトはビューの内側だけを読み取り、色のエフェクトはテキストのアンチエイリアスされたアルファを保持します
- アニメーションするエフェクト向けの ShaderTime (.animated、.animated(speed:)、.fixed(_:))。Reduce Motion が有効な場合は最初のフレームで停止します
- タップに追従するリップルエフェクトで、ビュー自身のジェスチャーの動作を妨げません
- シェーダー関数を直接呼び出すための ShaderLibrary.swiftShaders と、ビルドツールがそれらをコンパイルしたかを確認する SwiftShaders.isMetalLibraryAvailable
- macOS と iPhone シミュレータで実行される77個の Swift Testing テスト。あるライブラリテストは、コンパイルされた関数名と Swift コードが呼び出す名前を比較します
- 3本の記事を含む DocC カタログと、iOS・macOS 向けの ShaderGallery サンプルアプリ
クイックスタート
swift
1import SwiftShaders2import SwiftUI3 4struct ContentView: View {5 var body: some View {6 Image(systemName: "mountain.2.fill")7 .font(.system(size: 96))8 .foregroundStyle(.blue)9 .padding(40)10 .background(.blue.opacity(0.15), in: .rect(cornerRadius: 24))11 .halftone(dotSize: 6, ink: .blue, paper: .white)12 }13}インストール
Xcode (File › Add Package Dependencies…)
text
1https://github.com/muhittincamdali/SwiftShaders.gitSwift Package Manager
swift
1.package(url: "https://github.com/muhittincamdali/SwiftShaders.git", from: "2.0.0")スクリーンショット






タイムライン
3つのエフェクトでリポジトリが公開されました。v1.0.0 は最初のコミットにタグ付けされ、同じ週にパッケージが拡張されました
シェーダーのソースを削除し、パッケージは placeholder のコードに縮小されました
作り直しを開始: placeholder のソース、テンプレート、旧テストを削除
v2.0.0: SwiftUI のシェーダーモディファイアの上でゼロから書き直され、31個の Metal 関数、ピクセルテスト、DocC、サンプルアプリを備えます