如何:导出着色器

本文档演示如何使用要导出定向关系图着色器语言 (DGSL) 着色器的着色器设计器,以便将其用于您的应用程序中。

本文档演示此活动:

  • 导出着色器

导出着色器

在使用着色器设计器创建着色器后,并可以在您的应用程序使用之前,必须以您的图像 API 理解的格式导出它。 您可以用不同的方法导出着色器以适应不同的需要。

导出着色器

  1. 在 Visual Studio 中,打开**“可视化着色器关系图 (.dgsl)”**文件。

    如果没有可打开的“可视化着色器关系图 (.dgsl)”文件,则如 如何:创建基本颜色着色器中所述创建一个。

  2. 着色器设计器 工具栏上,选择 高级导出导出为。 显示**“导出着色器”**对话框。

  3. 在**“另存为类型”**下拉列表中,选择要导出的格式。

    这里有可供您选择的格式:

    • HLSL 像素着色器 (*.hlsl)
      导出着色器为高级着色器语言 (HLSL) 源代码。 此选项稍后可能修改着色器(甚至是在该着色器在应用程序部署后)。 这更易于最终用户问题调试和修补代码,但是同样更易于用户以有害方式修改着色器,例如,在有竞争力的游戏中获得不公正的优势。 它还增加着色器的加载时。

    • “已编译像素着色器 (*.cso)”
      导出着色器为 HLSL 字节码。 此选项稍后可能修改着色器(甚至是在该着色器在应用程序部署后)。 这更易于根据最终用户问题调试和修补代码,但由于已预编译着色器,因此不会在应用程序加载该着色器时导致额外运行时开销。 完全熟练的用户仍可以修改着色器使用不需要的方式,但是,编译着色器使此过程更加困难。

    • C++ 标题 (*.h)
      导出着色器为 C 样式标头,该标头定义一个包含 HLSL 字节码的字节数组。 基于最终用户的问题,此选项调试和修补代码可能更耗时,因为必须重新编译该应用程序以测试修复。 但是,由于这一选项使得部署着色器后对其进行修改更困难(虽然不是不可能做到),它使得需要以其不需要的方式修改着色器的用户遇到非常大的困难。

  4. 在**“文件名”组合框中,指定导出着色器,然后选择“保存”**按钮。

请参见

任务

如何:创建基本颜色着色器

概念

着色器设计器