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 主机