シェーダーをエクスポートする

この記事では、シェーダー デザイナーを使用して Directed Graph Shader Language (DGSL) シェーダーをエクスポートし、これをアプリで使用できるようにする方法について説明します。

Note

頂点シェーダーはエクスポートできません。

シェーダーをエクスポートする

シェーダー デザイナーを使用して作成したシェーダーをアプリで使用するには、グラフィックス API が理解できる形式でシェーダーをエクスポートする必要があります。 シェーダーはニーズに応じてさまざまな方法でエクスポートできます。

  1. Visual Studio で、視覚シェーダー グラフ (.dgsl) ファイルを開きます。

    開く視覚シェーダー グラフ (.dgsl) ファイルがない場合、「方法: 基本カラー シェーダーを作成する」に示された手順で作成します。

  2. シェーダー デザイナーのツール バーで、[詳細]>、[エクスポート>、[名前を付けてエクスポート] を選択します。 [シェーダーのエクスポート] ダイアログ ボックスが表示されます。

  3. [ファイルの種類] ドロップダウン リストで、エクスポートする形式を選択します。

    ここでは次の形式を選択できます。

    HLSL ピクセル シェーダー (*.hlsl) 上位レベル シェーダー言語 (HLSL) のソース コードとしてシェーダーをエクスポートします。 このオプションにより、アプリに配置した後でも、シェーダーを変更することができます。 これによりエンド ユーザーの問題に基づくコードのデバッグと修正が簡単になりますが、競争ゲームで不正にスコアを獲得するためなど、ユーザーが望ましくない方法でシェーダーを変更することが簡単になります。 また、シェーダーの読み込み時間がかかることがあります。

    コンパイル済みピクセル シェーダー (*.cso) HLSL バイトコードとしてシェーダーをエクスポートします。 このオプションにより、アプリに配置した後でも、シェーダーを変更することができます。 これによりエンド ユーザーの問題に基づくコードのデバッグと修正が簡単になりますが、シェーダーがプリコンパイルされるため、シェーダーがアプリに読み込まれるときも追加ランタイム オーバーヘッドは発生しません。 この場合も十分なスキルを持つユーザーであれば望ましくない方法でシェーダーを変更できますが、シェーダーがコンパイルされているため、変更が大幅に難しくなります。

    C++ ヘッダー (*.h) HLSL バイトコードを含むバイト配列を定義する C スタイル ヘッダーとしてシェーダーをエクスポートします。 このオプションでは、修正のテストにアプリの再コンパイルが必要になるため、エンド ユーザーの問題に基づくコードのデバッグと修正に時間がかかる可能性があります。 しかし、アプリへの配置後のシェーダーの変更は不可能とはいえないまでも困難になるため、ユーザーが望ましくない方法でシェーダーを変更することが最も困難になります。

  4. エクスポートするシェーダーの名前を [ファイル名] コンボ ボックスに指定し、[保存] ボタンを選択します。