DirectX 10和11使用DirectX图形基础结构(DXGI),枚举计算机上的可用图形适配器。你通常需要枚举适配器,原因如下:
1.确定有多少图形适配器安装在我们的计算机上
2.为了帮助我们选择使用哪个适配器来创建一个Direct3D设备
3.为了获取 IDXGIAdapter对象 ,它可以知道我们的设备能力(device capabilities)
那么如何来枚举计算机中的图形适配器呢?我们将遵循以下几个步骤:
1. 通过调用CreateDXGIFactory函数创建一个IDXGIFactory对象。下面的代码示例演示如何初始化一个IDXGIFactory对象
IDXGIFactory * pFactory = NULL;
CreateDXGIFactory(__uuidof(IDXGIFactory) ,(void**)&pFactory)
2. 通过调用 IDXGIFactory:: EnumAdapters方法枚举每个适配器。该适配器的参数允许我们指定枚举适配器的从零开始的索引号。如果没有适配器可在指定的索引处,该方法将返回 DXGI_ERROR_NOT_FOUN