方法: シェーダーをエクスポートするHow to: Export a Shader

このドキュメントでは、DGSL (Directed Graph Shader Language) シェーダーをアプリで使用できるようにシェーダー デザイナーを使用してエクスポートする方法を説明します。This document demonstrates how to use the Shader Designer to export a Directed Graph Shader Language (DGSL) shader so that you can use it in your app.

このドキュメントでは、以下のアクティビティについて説明します:This document demonstrates this activity:

  • シェーダーのエクスポートExporting a shader

シェーダーのエクスポートExporting a shader

シェーダー デザイナーを使用して作成したシェーダーをアプリで使用するには、グラフィックス API が理解できる形式でシェーダーをエクスポートする必要があります。After you create a shader by using the Shader Designer and before you can use it in your app, you have to export it in a format that your graphics API understands. シェーダーはニーズに応じてさまざまな方法でエクスポートできます。You can export a shader in different ways to meet different needs.

シェーダーをエクスポートするにはTo export a shader

  1. Visual StudioVisual Studio で、視覚シェーダー グラフ (.dgsl) ファイルを開きます。In Visual StudioVisual Studio, open a Visual Shader Graph (.dgsl) file.

    開く視覚シェーダー グラフ (.dgsl) ファイルがない場合、「方法: 基本カラー シェーダーを作成する」に示された手順で作成します。If you don't have a Visual Shader Graph (.dgsl) file to open, create one as described in How to: Create a Basic Color Shader.

  2. シェーダー デザイナーのツール バーで、[詳細][エクスポート][名前を付けてエクスポート] を選択します。On the Shader Designer toolbar, choose Advanced, Export, Export As. [シェーダーのエクスポート] ダイアログ ボックスが表示されます。The Export Shader dialog box is displayed.

  3. [ファイルの種類] ドロップダウン リストで、エクスポートする形式を選択します。In the Save as type drop-down list, choose the format that you want to export.

    ここでは次の形式を選択できます。Here are the formats that you can choose:

    HLSL ピクセル シェーダー (*.hlsl)HLSL Pixel Shader (*.hlsl)
    上位レベル シェーダー言語 (HLSL) のソース コードとしてシェーダーをエクスポートします。Exports the shader as High Level Shader Language (HLSL) source code. このオプションにより、アプリに配置した後でも、シェーダーを変更することができます。This option makes it possible to modify the shader later, even after it's deployed in an app. これによりエンド ユーザーの問題に基づくコードのデバッグと修正が簡単になりますが、競争ゲームで不正にスコアを獲得するためなど、ユーザーが望ましくない方法でシェーダーを変更することが簡単になります。This can make it easier to debug and patch the code based on end-user problems, but it also makes it easier for a user to modify your shader in unwanted ways—for example, to gain an unfair advantage in a competitive game. また、シェーダーの読み込み時間がかかることがあります。It also might increase the load time of the shader.

    コンパイル済みピクセル シェーダー (*.cso)Compiled Pixel Shader (*.cso)
    HLSL バイトコードとしてシェーダーをエクスポートします。Exports the shader as HLSL bytecode. このオプションにより、アプリに配置した後でも、シェーダーを変更することができます。This option makes is possible to modify the shader later, even after it's deployed in an app. これによりエンド ユーザーの問題に基づくコードのデバッグと修正が簡単になりますが、シェーダーがプリコンパイルされるため、シェーダーがアプリに読み込まれるときも追加ランタイム オーバーヘッドは発生しません。This can make it easier to debug and patch the code based on end-user problems, but because the shader is pre-compiled, it does not incur extra runtime overhead when the shader is loaded by the app. この場合も十分なスキルを持つユーザーであれば望ましくない方法でシェーダーを変更できますが、シェーダーがコンパイルされているため、変更が大幅に難しくなります。Sufficiently skilled users can still modify the shader in unwanted ways, but compiling the shader makes this significantly more difficult.

    C++ ヘッダー (*.h)C++ Header (*.h)
    HLSL バイトコードを含むバイト配列を定義する C スタイル ヘッダーとしてシェーダーをエクスポートします。Exports the shader as a C-style header that defines a byte array that contains HLSL bytecode. このオプションでは、修正のテストにアプリの再コンパイルが必要になるため、エンド ユーザーの問題に基づくコードのデバッグと修正に時間がかかる可能性があります。This option can make it more time-consuming to debug and patch the code based on end-user problems because the app must be recompiled to test the fix. しかし、アプリへの配置後のシェーダーの変更は不可能とはいえないまでも困難になるため、ユーザーが望ましくない方法でシェーダーを変更することが最も困難になります。However, because this option makes it difficult, though not impossible, to modify the shader after it's deployed in an app, it presents the most difficulty to a user who wants to modify the shader in unwanted ways.

  4. エクスポートするシェーダーの名前を [ファイル名] コンボ ボックスに指定し、[保存] ボタンを選択します。In the File name combo box, specify a name for the exported shader, and then choose the Save button.

関連項目See Also

方法: 基本カラー シェーダーを作成する How to: Create a Basic Color Shader
シェーダー デザイナーShader Designer