mcpField
T
threejs-shaders

threejs-shaders

github.com/cesartevisual開発11384 回インストール7 週間前に更新
リポジトリ

threejs-shaders について

threejs-shadersは、Three.jsプロジェクトでカスタムシェーダーを開発するためのガイダンススキルです。既存の構成やインストール済みバージョンに沿った実装、互換性確認、検証方法を扱います。

主な機能

  1. 01レンダラーとシェーダーパイプラインの特定
  2. 02座標空間の定義と法線変換
  3. 03マテリアルを再構築せずuniformを更新
  4. 04段階的なシェーダー作成とエラー確認
  5. 05頂点変位、影、境界の処理

活用シーン

  1. 01Three.jsプロジェクトへのカスタムシェーダー効果の追加
  2. 02シェーダーのコンパイル・リンクエラーの調査
  3. 03影、ピッキング、モバイル精度の確認

インストール

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

$npx skills add https://github.com/cesartevisual/threejs-skills --skill threejs-shaders

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

詳細

カスタムシェーダー

プロジェクトにインストールされているバージョンと既存のアーキテクチャを使用してください。これらの指示はユーザーのタスクを補足するものであり、無関係な変更や外部での操作を許可するものではありません。

シェーダーコードを書く前に、レンダラー、インストールされているリビジョン、シェーダー言語、マテリアルの拡張方法を特定してください。互換性のあるパイプラインでは GLSL ShaderMaterial/RawShaderMaterial を使用してください。WebGL シェーダーが WebGPU マテリアルとしてそのまま使用できると思い込まないでください。

すべての位置、法線、光ベクトル、varying の座標空間を明記してください。非一様スケールを適用する場合は、法線を正しく変換してください。uniform は安定した状態に保ち、フレームごとにマテリアルを再構築するのではなく、その値を更新してください。不要なフラグメントごとの処理や動的なシェーダーのバリエーションは避けてください。

エフェクトは段階的に構築してください。定数出力、座標、テクスチャサンプル、エフェクトの順に進めます。エラーをすべて有効にして、コンパイルとリンクのログを確認してください。ゼロベクトルの正規化、ゼロに近い値での除算、未定義の smoothstep 範囲を適切に処理してください。微分関数には、適切なステージとサポートが必要です。

頂点を変位させる場合は、法線を更新するか、適切なシェーディングを計算してください。カリング用に境界を拡張し、シャドウ用に対応する depth/distance マテリアルも検討してください。対応する仕組みを用意しない限り、CPU のレイキャストでは引き続き CPU ジオメトリが参照されます。

onBeforeCompile とシェーダーチャンクはリビジョンに依存するものとして扱ってください。カスタムコンパイルのバリエーションごとに異なるプログラムが必要な場合は、適切なカスタムプログラムキャッシュキーを使用し、アップグレードに備えて再現可能なシェーダーフィクスチャを保持してください。出力境界でのディスプレイカラーとトーンマッピングを確認してください。

極端なパラメーター値、リサイズ、モバイル端末での精度、透明オブジェクトの重なり、シャドウ、ピッキングを確認してください。この機能がオプションの場合は、通常のマテリアルへのフォールバックを維持してください。

API リファレンス

正確なシグネチャとリビジョン固有の動作については、公式ドキュメントを参照してください。ドキュメントにアクセスできない場合は、インストール済みの型定義またはソースコードを調べ、残る不明点を明記してください。

コメント