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