XDisplayHdrModeInfo

为连接的显示屏上的 HDR(高动态范围)模式指定最小和最大色调映射亮度值。

语法

typedef struct XDisplayHdrModeInfo {  
    float minToneMapLuminance;  
    float maxToneMapLuminance;  
    float maxFullFrameToneMapLuminance;  
} XDisplayHdrModeInfo  

成员

minToneMapLuminance
类型:float

最小色调映射亮度 (MinTML) 值,以尼特为单位。

maxToneMapLuminance
类型:float

最大色调映射亮度 (MaxTML) 值,以尼特为单位。

maxFullFrameToneMapLuminance
类型:float

最大完整帧色调映射亮度 (MaxFFTML) 值,以尼特为单位。

备注

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

有关 HDR 亮度值和色调映射的详细信息,请参阅 HDR 游戏兴趣小组网站上的获得更好的 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 主机

另请参阅

XDisplayHdrModeResult
XDisplayTryEnableHdrMode
XDisplay