シェーダーの操作

Visual Studio のグラフ ベースのシェーダー デザイナーを利用し、自分だけのシェーダー効果をデザインできます。 自分でデザインしたシェーダーは、DirectX ベースのゲームやアプリで利用できます。

シェーダー

シェーダーは、頂点変換やピクセル色付けなど、グラフィックス計算を実行するコンピューター プログラムです。通常、CPU ではなく、グラフィック処理装置 (GPU) で実行されます。 従来の固定関数グラフィックスのパイプラインのほとんどの段階がシェーダー プログラムで実行されるようになったため、アプリのニーズに合ったパイプラインをシェーダー プログラムで作成できます。

最も一般的なシェーダーが頂点シェーダーピクセル シェーダーです。頂点シェーダーは頂点ごとに計算を実行し、プログラムできないグラフィックス ハードウェアにおいて、固定関数変換や照明回路構成に取って代わります。ピクセル シェーダーはピクセルの色を決定する計算をピクセルごとに実行し、プログラムできないグラフィックス ハードウェアにおいて、固定関数カラー結合回路構成に取って代わります。 現代的なグラフィックス ハードウェアの登場で、さまざまなシェーダーが可能になりました。ハル シェーダードメイン シェーダージオメトリ シェーダーはグラフィックス計算に使用されます。計算シェーダーはグラフィックス以外の計算処理に使用されます。 これらの段階はいずれも、プログラムできないグラフィックス ハードウェアでは利用できません。 シェーダーはもともと、データ並列 (SIMD) 指示やグラフィックス中心 (ドット積) 指示を与えたアセンブリ タイプの言語を利用して作られました。 現在、シェーダーは通常、HLSL (High Level Shader Language) のようなハイレベルな、C に近い言語で作られています。

コードを入力し、コンパイルする代わりに、シェーダー デザイナーを利用してピクセル シェーダーを対話方式で作成できます。 シェーダー デザイナーでは、シェーダーは、データと演算を表すさまざまなノードと、データ値のフローとシェーダー全体の中間結果を表すノード間の接続で定義されます。 この手法とシェーダー デザイナーのリアルタイム プレビューを利用し、シェーダーの実行を簡単に視覚化し、実験を通してシェーダーの面白い変化を "発見" できます。

DGSL ドキュメント

シェーダー デザイナーは Directed Graph Shader Language (DGSL) 形式でシェーダーを保存します。これは、Directed Graph Markup Language (DGML) を基盤とする XML 形式です。 モデル エディターで、3-D モデルに DGSL シェーダーを直接適用できます。 ただし、アプリで DGSL シェーダーを使用するには、DirectX が認識できる形式にシェーダーをエクスポートする必要があります。

DGSL と DGML には互換性があるため、DGML ドキュメントを解析するために設計されたツールを利用して DGSL シェーダーを解析できます。 DGML の詳細については、「Directed Graph Markup Language (DGML) について」を参照してください。

タイトル 説明
シェーダー デザイナー Visual Studio シェーダー デザイナーを使用してシェーダーを操作する方法について説明します。
シェーダー デザイナー ノード グラフィックス効果を得るためのシェーダー デザイナー ノードについて説明します。
シェーダー デザイナーの例 シェーダー デザイナーを利用して一般的なグラフィックス効果を得る方法を示すトピックのリンクを提供します。