如何:获得设备功能级别(十二)

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;
}

 

你可能感兴趣的:(D3D11,D3D11,基础学习,D3D11)