typedef enum D3D_FEATURE_LEVEL
{
D3D_FEATURE_LEVEL_9_1 = 0x9100,
D3D_FEATURE_LEVEL_9_2 = 0x9200,
D3D_FEATURE_LEVEL_9_3 = 0x9300,
D3D_FEATURE_LEVEL_10_0 = 0xa000,
D3D_FEATURE_LEVEL_10_1 = 0xa100,
D3D_FEATURE_LEVEL_11_0 = 0xb000,
D3D_FEATURE_LEVEL_11_1 = 0xb100,
D3D_FEATURE_LEVEL_12_0 = 0xc000,
D3D_FEATURE_LEVEL_12_1 = 0xc100
} D3D_FEATURE_LEVEL;
这个枚举包括以下几个成员:
- D3D_FEATURE_LEVEL_9_1、D3D_FEATURE_LEVEL_9_2、D3D_FEATURE_LEVEL_9_3: 表示 Direct3D 9 级别的特性。
- D3D_FEATURE_LEVEL_10_0、D3D_FEATURE_LEVEL_10_1: 表示 Direct3D 10 级别的特性。
- D3D_FEATURE_LEVEL_11_0、D3D_FEATURE_LEVEL_11_1: 表示 Direct3D 11 级别的特性。
- D3D_FEATURE_LEVEL_12_0、D3D_FEATURE_LEVEL_12_1: 表示 Direct3D 12 级别的特性。
在创建 Direct3D 设备时,可以指定要使用的硬件特性级别。例如,在使用 D3D11CreateDevice 函数时,其中一个参数就是要使用的特性级别数组:
HRESULT D3D11CreateDevice(
IDXGIAdapter *pAdapter,
D3D_DRIVER_TYPE DriverType,
HMODULE Software,
UINT Flags,
const D3D_FEATURE_LEVEL *pFeatureLevels,
UINT FeatureLevels,
UINT SDKVersion,
ID3D11Device **ppDevice,
D3D_FEATURE_LEVEL *pFeatureLevel,
ID3D11DeviceContext **ppImmediateContext
);
在这个函数中,pFeatureLevels 参数是一个指向 D3D_FEATURE_LEVEL 数组的指针,用于指定设备可以支持的特性级别。在函数执行后,pFeatureLevel 参数将包含实际创建的设备所支持的特性级别。
转载请注明出处:http://www.zyzy.cn/article/detail/26266/Win32 API/D3dcommon.h/D3D_FEATURE_LEVEL