指定编译器目标
调用 D3DCompile、D3DCompile2 或 D3DCompileFromFile 函数时,需要指定要编译的着色器目标(着色器功能集)。 下面列出了 D3DCompile* 函数和 HLSL 编译器支持的各种配置文件的目标。
- Direct3D 11.0 和 11.1 功能级别
- Direct3D 10.1 功能级别
- Direct3D 10.0 功能级别
- Direct3D 9.1、9.2 和 9.3 功能级别
- 旧版 Direct3D 9 着色器模型 3.0
- 旧版 Direct3D 9 着色器模型 2.0
- 旧版 Direct3D 9 着色器模型 1.x
- 旧版效果
- 备注
- 相关主题
Direct3D 11.0 和 11.1 功能级别
下面是 Direct3D 11.0 和 11.1 功能级别 支持的着色器目标。
目标 | 描述 |
---|---|
cs_5_0 | DirectCompute 5.0 (计算着色器) |
ds_5_0 | 域着色器 |
gs_5_0 | 几何着色器 |
hs_5_0 | 外壳着色器 |
ps_5_0 | 像素着色器 |
vs_5_0 | 顶点着色器 |
Direct3D 10.1 功能级别
下面是 Direct3D 10.1 功能级别 支持的着色器目标。
目标 | 描述 |
---|---|
cs_4_1 | DirectCompute 4.1 (计算着色器) ¹ |
gs_4_1 | 几何着色器 |
ps_4_1 | 像素着色器 |
vs_4_1 | 顶点着色器 |
Direct3D 10.0 功能级别
下面是 Direct3D 10.0 功能级别 支持的着色器目标。
目标 | 描述 |
---|---|
cs_4_0 | DirectCompute 4.0 (计算着色器) ¹ |
gs_4_0 | 几何着色器 |
ps_4_0 | 像素着色器 |
vs_4_0 | 顶点着色器 |
Direct3D 9.1、9.2 和 9.3 功能级别
下面是 Direct3D 9.1、9.2 和 9.3 功能级别 支持的着色器目标。
注意
使用 *_4_0_level_9_x HLSL 着色器配置文件时,将隐式使用 着色器模型 2.x 配置文件来支持支持 Direct3D 9 的硬件。 着色器模型 2.x 配置文件支持比 着色器模型 4.x 及更高版本的配置文件更有限的流控制行为。
目标 | 描述 |
---|---|
ps_4_0_level_9_1 | 9.1 和 9.2 的像素着色器 (类似于ps_2_0)
|
ps_4_0_level_9_3 | 9.3 像素着色器 (与 ps_2_x² 类似的限制,具有其他着色器功能)
|
vs_4_0_level_9_1 | 9.1 和 9.2 的顶点着色器 (类似于 vs_2_0)
|
vs_4_0_level_9_3 | 适用于 9.3 (的顶点着色器类似于 vs_2_a²,具有附加着色器功能和实例化)
|
旧版 Direct3D 9 着色器模型 3.0
下面是旧版 Direct3D 9 着色器模型 3.02 的着色器目标。
目标 | 描述 |
---|---|
ps_3_0 | 像素着色器 3.0 |
ps_3_sw | 像素着色器 3.0 (软件) |
vs_3_0 | 顶点着色器 3.0 |
vs_3_sw | 顶点着色器 3.0 (软件) |
旧版 Direct3D 9 着色器模型 2.0
下面是旧版 Direct3D 9 着色器模型 2.02 的着色器目标。
目标 | 描述 |
---|---|
ps_2_0 | 像素着色器 2.0 |
ps_2_a | 像素着色器 2a |
ps_2_b | 像素着色器 2b |
ps_2_sw | 像素着色器 2.0 软件 |
vs_2_0 | 顶点着色器 2.0 |
vs_2_a | 顶点着色器 2a |
vs_2_sw | 顶点着色器 2.0 软件 |
旧版 Direct3D 9 着色器模型 1.x
下面是旧版 Direct3D 9 着色器模型 1.x⁴ 的着色器目标。
目标 | 描述 |
---|---|
tx_1_0 | 旧版 D3DX9⁵ 函数 D3DXCreateTextureShader 和 D3DXFillTextureTX 使用的纹理着色器配置文件 |
vs_1_1 | 顶点着色器 1.1 |
旧版效果
下面是旧版效果的效果目标。
目标 | 描述 |
---|---|
fx_2_0 | 在 D3DX9⁵ 中为 Direct3D 9 (FX) 效果 |
fx_4_0 | 在 D3DX10⁵中为 Direct3D 10.0 (FX) 效果 |
fx_4_1 | D3DX10⁵中 Direct3D 10.1 的效果 (FX) |
fx_5_0 | Direct3D 11⁵ (FX) 效果 |
说明
下面是上述部分引用的一些说明:
- 功能级别 10.0 和 10.1 设备可以选择性地支持 DirectCompute。 若要验证支持,请将 ID3D11Device::CheckFeatureSupport 与 D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS 配合使用。
- 功能级别 9.3 实际上需要符合 旧版 Direct3D 9 着色器模型 3.0 要求的硬件,但此功能级别不使用vs_3_0或ps_3_0目标。
- 仅将旧版 Direct3D 9 着色器模型与 Direct3D 9 API 配合使用。 请改为将 9.x 配置文件与 Direct3D 10.x 和 11.x API 配合使用。
- 当前 HLSL 着色器 D3DCompile* 函数不支持旧版 1.x 像素着色器。 HLSL 支持这些目标的最后一个版本是 2006 年 10 月版 DirectX SDK 中的 D3DX9。
- 已弃用所有版本的 D3DX 和 DirectX SDK。 有关详细信息,请参阅 DirectX SDK 在哪里?。
相关主题