DirectX 标准批注和语义参考

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

背景信息

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

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

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

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

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

主机应用程序和效果文件的 dxsas 标准示意图

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

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

区分大小写

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

效果参考