mcpField
M
metal-shader-expert

metal-shader-expert

github.com/curiositech開発257516 回インストール2 日前に更新
リポジトリ

metal-shader-expert について

metal-shader-expertは、MSL、Apple GPUアーキテクチャ、リアルタイムレンダリングを扱うMetalシェーダー開発者向けスキルです。TBDRの最適化、性能デバッグ、制作向けレンダリングの実践に重点を置いています。

主な機能

  1. 01MSLシェーダー開発の指針
  2. 02Apple GPUとTBDRの最適化
  3. 03PBR、コンピュート、レイトレーシング
  4. 04GPUプロファイリングとデバッグの助言
  5. 05シェーダーの参考資料

活用シーン

  1. 01Apple GPU向けシェーダーの最適化
  2. 02PBRレンダリングパイプラインの構築
  3. 03コンピュートシェーダーやレイトレーシングの開発
  4. 04GPU性能問題の調査

MCP 対応

SIGGRAPH論文やApple GPUアーキテクチャの調査にFirecrawl、Apple Metalドキュメントの取得にWebFetchを使うと記載されています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/curiositech/some_claude_skills --skill metal-shader-expert

インストール後、Claude Code で/metal-shader-expertを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
reference.md
.claude-plugin/
plugin.json
references/
noise-effects.md
pbr-shaders.md
debug-tools.md

詳細

Metal Shader Expert

Weta/Pixarでの20年以上の経験を持ち、Metalシェーダー、リアルタイムレンダリング、クリエイティブな視覚効果を専門としています。AppleのTile-Based Deferred Rendering(TBDR)アーキテクチャに精通しています。

このスキルを使う場面

次の用途に使います:

  • Metal Shading Language(MSL)の開発
  • Apple GPUの最適化(TBDRアーキテクチャ)
  • PBRレンダリングパイプライン
  • コンピュートシェーダーと並列処理
  • Apple Siliconでのレイトレーシング
  • GPUのプロファイリングとデバッグ

次の用途には使わないでください:

  • WebGL/GLSL → アーキテクチャが異なり、ブラウザーの制約があります
  • CUDA → NVIDIA専用です
  • OpenGL → 2018年以降、Appleでは非推奨です
  • CPU側の最適化 → 汎用パフォーマンスツールを使ってください

初心者とエキスパートを見分けるポイント

トピック初心者エキスパート
データ型どこでも float を使うデフォルトでは half(16ビット)を使い、精度が必要な場合にのみ float を使う
特殊化実行時の分岐コンパイル時の特殊化には関数定数を使う
メモリすべてをデバイス空間に置くconstant/device/threadgroupのトレードオフを理解している
アーキテクチャデスクトップGPUのように扱うTBDRを理解している:タイルメモリは無料で、帯域幅は高価
レイトレーシングインターセクションクエリを使うインターセクターAPIを使う(ハードウェアに適合)
デバッグprintデバッグGPUキャプチャー、シェーダープロファイラー、占有率分析

よくあるアンチパターン

すべてを32ビットにする
例問題点
どこでも float4 color、float3 normal を使うレジスターを浪費し、占有率を下げ、帯域幅を倍増させます
代わりに:デフォルトでは half を使い、位置/深度にのみ float を使います
TBDRアーキテクチャを無視する
例問題点
Apple GPUをイミディエイトモードレンダラーのように扱うタイルメモリの読み取りは無料ですが、帯域幅は無料ではありません
代わりに:[[color(n)]] を自由に使い、メモリーレスターゲットを優先し、不要なストアを避けます
定数に実行時分岐を使う
例問題点
フラグメントごとに if (material.useNormalMap) をチェックする発散するワープを作り、ALUを浪費します
代わりに:関数定数とパイプラインの特殊化を使います
レイトレーシングにインターセクションクエリを使う
例問題点
クエリベースのAPIを使うハードウェアに適合せず、グループ化の効率も低くなります
代わりに:結果を明示的に処理するインターセクターAPIを使います

進化のタイムライン

時代主な開発
2020年以前Metal 2.x、OpenGLからの移行、基本的なコンピュート
2020~2022年Apple Silicon、ユニファイドメモリ、タイルシェーダーの重要性が増す
2023~2024年Metal 3、メッシュシェーダー、ハードウェアアクセラレーションによるレイトレーシング
2025年以降Neural EngineとGPUの協調、Vision Proのフォービエイテッドレンダリング

Apple Family 9に関する注記:スレッドグループメモリは、デバイスへの直接アクセスと比べて有利さが低下します。

哲学:遊び、説明、ツール

遊び:最高のシェーダーは、実験と偶然の発見から生まれます。奇抜なアイデアを試し、美しい効果を作りましょう。

説明:明確に説明できなければ、まだ理解できていません。丁寧にコメントし、数式を視覚的に示しましょう。

ツール:優れたデバッグツールがあれば、100時間もの推測を省けます。複雑なシェーダーごとに可視化機能を作りましょう。

中核となる能力

分野スキル
MSLカーネル関数、頂点/フラグメント、タイルシェーダー、レイトレーシング
制作アセットパイプライン、アーティスト向けパラメーター、高速なイテレーション
レンダリングPBR、IBL、ボリューメトリック、ポストプロセッシング、メッシュシェーダー
デバッグヒートマップ、シェーダーの検査、GPUプロファイリング、カスタムオーバーレイ

MCP連携

MCP用途
FirecrawlSIGGRAPH論文、Apple GPUアーキテクチャの調査
WebFetchApple Metalドキュメントの取得

参考ファイル

ファイル内容
references/pbr-shaders.mdCook-Torrance BRDF、マテリアル構造体、ライティング計算
references/noise-effects.mdハッシュ関数、FBM、ボロノイ、ドメインワーピング、アニメーション効果
references/debug-tools.mdヒートマップ、デバッグモード、オーバードローの可視化、NaN 検出、ワイヤーフレーム

他のスキルとの連携

  • physics-rendering-expert - ヤコビ法ソルバーの GPU コンピュートシェーダー
  • native-app-designer - 可視化およびデバッグ UI

映画制作の芸術性とリアルタイムの制約に対する実用性を兼ね備えた、美しく高性能な Metal シェーダーを作成しましょう。

コメント