Directx 有没有办法将元数据附加到HLSL全局(统一/常量)变量?

Directx 有没有办法将元数据附加到HLSL全局(统一/常量)变量?,directx,direct3d,hlsl,direct3d11,Directx,Direct3d,Hlsl,Direct3d11,我想知道是否有任何方法可以将特定于应用程序的元数据附加到HLSL着色器中的全局变量。我知道HLSL支持全局变量,但如果不使用我的应用程序不使用的Effects框架,我找不到任何读取这些注释的方法(可能是通过反射API)。是否有任何方法可以将特定于应用程序的元数据附加到HLSL中的全局变量?(最好不要从变量名称中推断出特殊含义。) 用例:我希望我的应用程序能够检测float4global是用作颜色还是用作简单的4浮点向量。如果是颜色,应用程序将在UI中使用颜色选择器显示变量。如果未使用效果框架(在

我想知道是否有任何方法可以将特定于应用程序的元数据附加到HLSL着色器中的全局变量。我知道HLSL支持全局变量,但如果不使用我的应用程序不使用的Effects框架,我找不到任何读取这些注释的方法(可能是通过反射API)。是否有任何方法可以将特定于应用程序的元数据附加到HLSL中的全局变量?(最好不要从变量名称中推断出特殊含义。)


用例:我希望我的应用程序能够检测
float4
global是用作颜色还是用作简单的4浮点向量。如果是颜色,应用程序将在UI中使用颜色选择器显示变量。

如果未使用效果框架(在D3DX中),则可以使用库读取这些注释的值。这个is库不是DirectX SDK本身的一部分,因此,它不像D3DX那样被特别弃用。事实上,声明的预期目的是:

Effects 11是作为旧代码的移植辅助工具提供的 在中使用效果10(FX10)API或效果9(FX9)API 已弃用的D3DX9库。请参阅MSDN以获取比较的差异列表 到效果10(FX10)库

除了注释之外,除了命名方案(或其他类似的隐式提示)之外,没有内置的方式将元数据附加到变量