XDisplayHdrModeResult

指定连接的显示器上 HDR(高动态范围)支持的当前状态。

语法

enum class XDisplayHdrModeResult  : uint32_t  
{  
    Unknown = 0,  
    Enabled = 1,  
    Disabled = 2  
}  

常量

常量 说明
未知 发生了错误,并且 HDR 支持的当前状态未知。
已启用 HDR 模式已启用。
已禁用 HDR 模式已禁用。

备注

XDisplayTryEnableHdrMode 函数返回一个 XDisplayHdrModeResult 枚举值,该枚举值指示该函数是否可以启用连接的显示屏的 HDR 模式。 如果返回 XDisplayHdrModeResult::Enabled,则该函数还提供一个 XDisplayHdrModeInfo 结构,该结构包含针对 HDR 模式的最小和最大色调映射亮度值。

下面的示例尝试为连接的显示屏启用 HDR 模式。 如果返回 XDisplayHdrModeInfo::Enabled,则为显示屏启用 HDR 模式,并且游戏使用来自返回的 XDisplayHdrModeInfo 结构的亮度值来在 HDR 模式下初始化;否则,HDR 模式不可用或者被禁用,并且游戏在 SDR(标准动态范围)模式下初始化。

void Game::InitializeHDRMode() 
{
    // Attempt to enable HDR mode, then initialize based on the 
    // result of the attempt.
    XDisplayHdrModeInfo displayModeHdrInfo;

    if (XDisplayHdrModeResult::Enabled == XDisplayTryEnableHdrMode(XDisplayHdrModePreference::PreferHdr, &displayModeHdrInfo))
    {
        // HDR mode is enabled for the attached display.
        InitializeAsHDR(
            displayModeHdrInfo.minToneMapLuminance,
            displayModeHdrInfo.maxToneMapLuminance,
            displayModeHdrInfo.maxFullFrameToneMapLuminance);
    }
    else
    {
        // Either HDR mode is disabled for the attached display, or the
        // attached display does not support HDR.
        InitializeAsSDR();
    }
}

要求

头文件:XDisplay.h

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

XDisplayHdrModeInfo
XDisplayTryEnableHdrMode
XDisplay