DirectX 标准批注和语义参考

标准批注和语义 (DXSAS) 提供了一种使用着色器的标准方法,使着色器能够与工具、应用程序和游戏引擎一起使用。 DXSAS 定义一组语义和注释,这些语义和批注附加到宿主应用程序值和效果参数用于共享效果。 为了使这些批注和语义有用,必须在主机应用程序和效果文件中实现它们。 本文档介绍 DXSAS 标准,它利用 DirectX 效果框架的强大功能,使主机应用程序和工具能够以编程方式) 共享 DirectX 效果 (.fx 文件,以及设计与 UI 的交互。

背景信息

标准批注和语义旨在将效果和 X 文件参数绑定到托管应用程序值。 D3DX 效果框架 (或效果) 封装呈现状态。 通过在效果中封装呈现状态 (包括顶点、纹理和像素处理状态) ,可以创建覆盖各种呈现选项的效果库。 这可能包括各种选项,例如在不同类型的硬件上呈现,或者使用单次或多传递混合进行呈现。 有关效果框架的详细信息,应参考 效果参考。 DXSAS 基于此框架构建,为开发人员提供更一致的体验。 在效果中封装呈现设置后,DXSAS 标准允许效果开发人员通过批注公开效果参数的意向。 然后,任何主机应用程序或工具都可以读取这些批注, (不仅设计为使用符合标准的效果) ,还将了解如何按照设计的方式使用效果。

标准化宿主应用程序支持的效果语义和批注集,使效果作者能够创建可在多个项目中使用的效果,从而促进更广泛的效果社区用户。 DXSAS 标准使开发人员可读取文件,在工具之间交换,使开发人员能够利用第三方工具为其管道创作效果。

本文档介绍 DXSAS 标准,该标准使用注释来表达效果参数的意图,以及定义宿主应用程序同意用于效果的主机应用程序值的集合。

使用标准批注和语义创作效果

如下图所示,DXSAS 标准需要效果文件中的批注,以及遵循此处所述的准则的主机应用程序来处理该文件。

diagram of the dxsas standard for host applications and effect files

主机应用程序必须实现用户界面逻辑和主机环境。 若要实现符合 DXSAS 的效果,请阅读以下主题:

  • 全局参数定义与效果相关的信息,例如版本或效果作者。
  • 数据绑定 定义参数集合 (及其类型和结构) ,这些参数可由公开效果的主机应用程序设置的效果使用。
  • 若要将用户界面控件与效果参数相关联,请使用 UI 批注。 这些批注包括: SasUiMaxSasUiMinSasUiStepsSasUiStepsPowerSasUiStride
  • 若要使用外部文件中包含的数据初始化效果参数,请使用 参数初始化批注
  • 当在主机应用程序与效果之间传输数据时 (,反之亦然,) ,当类型不完全匹配时,将发生 强制转换和转换 。 本部分指定当源类型和目标类型不同时如何写入数据。 此外,使用 ParameterValueModifiers 修改主机应用程序应如何解释从效果参数读取的数据。 这些批注包括: SasNormalizeSasUnits

区分大小写

所有标识符、语义和批注值都区分大小写。 批注名称 (不区分大小写) 的值。 注释名称由 D3DX 效果系统识别,因此 SAS 批注名称也是。

效果参考