版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoyafang123/article/details/89522777
Direct3D 11设备支持D3D_FEATURE_LEVEL枚举中定义的一组固定的功能级别。一旦知道设备支持的最高特性级别,就可以运行适合该设备的代码路径。
获取设备功能级别
在创建设备之前,能通过调用D3D11CreateDevice或者D3D11CreateDeviceAndSwapChain函数并制定ppDevice为NULL获取设备支持的功能集。
或者调用 ID3D11Device::GetFeatureLevel在设备创建之后。
检查最后一步返回的D3D_FEATURE_LEVEL枚举的值,以确定支持的特性级别。
下面的代码示例演示了如何通过调用D3D11CreateDevice函数来确定支持的最高特性级别。
HRESULT hr = E_FAIL;
D3D_FEATURE_LEVEL FeatureLevel;
hr = D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, NULL, 0,
D3D11_SDK_VERSION, NULL, &FeatureLevel, NULL );
if(FAILED(hr))
{
return hr;
}