方法: シェーダーをエクスポートする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) のソース コードとしてシェーダーをエクスポートします。HLSL Pixel Shader (*.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) HLSL バイトコードとしてシェーダーをエクスポートします。Compiled Pixel Shader (*.cso) 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) HLSL バイトコードを含むバイト配列を定義する C スタイル ヘッダーとしてシェーダーをエクスポートします。C++ Header (*.h) 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