次の方法で共有


XDisplayHdrModeInfo

接続されたディスプレイでの HDR (高ダイナミック レンジ) モードに対する最小と最大のトーン マッピング輝度値を指定します。

構文

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

メンバー

minToneMapLuminance
型: float

最小トーン マッピング輝度 (MinTML) の値 (ニト単位)。

maxToneMapLuminance
型: float

最大トーン マッピング輝度 (MaxTML) の値 (ニト単位)。

maxFullFrameToneMapLuminance
型: float

最大フルフレーム トーン マッピング輝度 (MaxFFTML) の値 (ニト単位)。

解説

XDisplayTryEnableHdrMode 関数からは、接続されたディスプレイの HDR モードを関数で有効にできるかどうかを示す XDisplayHdrModeResult 列挙値が返されます。 XDisplayHdrModeResult::Enabled が返された場合、関数ではディスプレイの HDR モードに関する情報が格納されている XDisplayHdrModeInfo 構造体も提供され、それには HDR モードに対する最小と最大のトーン マッピング輝度値が含まれます。

HDR の輝度値とトーン マッピングの詳細については、HDR Gaming Interest Group の Web サイトのよりよい 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