如何:获得适配器显示模式(八)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoyafang123/article/details/89498988

DirectX 10和11使用DirectX图形基础设施(DXGI)来获得与适配器关联的有效显示模式。了解有效的显示模式可以确保应用程序能够正确地选择有效的全屏模式。

如何获得适配器显示模式

  1. 创建IDXGIFactory对象并使用它枚举可用适配器。有关更多信息,请参见如何:枚举适配器
  2. 调用IDXGIAdapter:: EnumOutputs枚举每个适配器的输出。
    
    IDXGIOutput* pOutput = NULL; 
    HRESULT hr;
    
    hr = pAdapter->EnumOutputs(0,&pOutput);
    
    
  3. 调用IDXGIOutput::GetDisplayModeList来检索DXGI_MODE_DESC结构的数组和数组中的元素数量。每个DXGI_MODE_DESC结构表示输出的有效显示模式。
    UINT numModes = 0;
    DXGI_MODE_DESC* displayModes = NULL;
    DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT;
    
        // Get the number of elements
        hr = pOutput->GetDisplayModeList( format, 0, &numModes, NULL);
    
        displayModes = new DXGI_MODE_DESC[numModes]; 
    
        // Get the list
        hr = pOutput->GetDisplayModeList( format, 0, &numModes, displayModes);
    

猜你喜欢

转载自blog.csdn.net/xiaoyafang123/article/details/89498988