Cómo: Exportar un sombreadorHow to: Export a Shader

En este documento se muestra cómo usar el Diseñador de sombras para exportar un sombreador del lenguaje DGSL (Directed Graph Shader Language) para poder usarlo en la aplicación.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.

Este documento muestra esta actividad:This document demonstrates this activity:

  • Exportar un sombreadorExporting a shader

Exportar un sombreadorExporting a shader

Después de crear a un sombreador mediante el Diseñador de sombras y antes de poder usarlo en la aplicación, tendrá que exportarlo en un formato compatible con la API de gráficos.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. Puede exportar un sombreador de maneras diferentes para satisfacer distintas necesidades.You can export a shader in different ways to meet different needs.

Para exportar un sombreadorTo export a shader

  1. En Visual StudioVisual Studio, abra un archivo Gráfico de sombreador visual (.dgsl).In Visual StudioVisual Studio, open a Visual Shader Graph (.dgsl) file.

    Si no tiene un archivo Gráfico de sombreador visual (.dgsl) para abrir, cree uno como se describe en Cómo: Crear un sombreador de color básico.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. En la barra de herramientas del Diseñador de sombras, seleccione Avanzadas, Exportar, Exportar como.On the Shader Designer toolbar, choose Advanced, Export, Export As. Se muestra el cuadro de diálogo Exportar sombreador.The Export Shader dialog box is displayed.

  3. En la lista desplegable Guardar como tipo, elija el formato que quiere exportar.In the Save as type drop-down list, choose the format that you want to export.

    Estos son los formatos que puede elegir:Here are the formats that you can choose:

    Sombreador de píxeles HLSL (*.hlsl) El sombreador se exporta como código fuente del lenguaje HLSL (High Level Shader Language).HLSL Pixel Shader (*.hlsl) Exports the shader as High Level Shader Language (HLSL) source code. Esta opción permite modificar el sombreador más tarde, incluso después de que se implemente en una aplicación.This option makes it possible to modify the shader later, even after it's deployed in an app. Esto puede hacer más fácil de depurar y revisar el código en función de los problemas del usuario final, pero también resulta más fácil para un usuario modificar el sombreador de maneras no deseadas, por ejemplo para obtener una ventaja desleal en un juego competitivo.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. Es posible que también aumente el tiempo de carga del sombreador.It also might increase the load time of the shader.

    Sombreador de píxeles compilados (*.cso) Exporta el sombreador como código de bytes HLSL.Compiled Pixel Shader (*.cso) Exports the shader as HLSL bytecode. Esta opción permite modificar el sombreador más tarde, incluso después de que se implemente en una aplicación.This option makes is possible to modify the shader later, even after it's deployed in an app. Esto puede hacer más fácil de depurar y revisar el código en función de los problemas del usuario final, pero dado que el sombreador está precompilado, no genera una sobrecarga adicional en tiempo de ejecución cuando se carga en la aplicación.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. Los usuarios lo suficientemente cualificados todavía pueden modificar el sombreador de maneras no deseadas, pero la compilación del sombreador lo hace mucho más difícil.Sufficiently skilled users can still modify the shader in unwanted ways, but compiling the shader makes this significantly more difficult.

    Encabezado de C++ (*.h) Exporta el sombreador como un encabezado de estilo C que define una matriz de bytes que contiene el código de bytes HLSL.C++ Header (*.h) Exports the shader as a C-style header that defines a byte array that contains HLSL bytecode. Esta opción puede ralentizar la depuración y la revisión del código en función de los problemas del usuario final, dado que es necesario volver a compilar la aplicación para probar la corrección.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. Pero como esta opción hace que sea difícil, aunque no imposible, modificar el sombreador después de implementarse en una aplicación, presenta la mayor dificultad para un usuario que quiere modificar el sombreador de formas no deseadas.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. En el cuadro combinado Nombre de archivo, especifique un nombre para el sombreador exportado y, después, pulse el botón Guardar.In the File name combo box, specify a name for the exported shader, and then choose the Save button.

Vea tambiénSee also