IDXGISwapChain4::SetHDRMetaData 方法 (dxgi1_5.h)

警告

不再建议应用使用 SetHDRMetaData 在其交换链上显式设置 HDR 元数据。 Windows 不保证将交换链元数据发送到监视器,并且监视器不一致地处理 HDR 元数据。 因此,建议应用始终将音调内容映射到监视器报告的范围。 有关如何编写动态响应监视功能的应用的更多详细信息,请参阅 将 DirectX 与高动态范围显示器和高级颜色配合使用

有关更多详细信息,请参阅“备注”。

此方法设置高动态范围 (HDR) 和宽色域 (WCG) 标头元数据。

语法

HRESULT SetHDRMetaData(
  [in]           DXGI_HDR_METADATA_TYPE Type,
  [in]           UINT                   Size,
  [in, optional] void                   *pMetaData
);

参数

[in] Type

类型: DXGI_HDR_METADATA_TYPE

指定 DXGI_HDR_METADATA_TYPE 枚举的一个成员。

[in] Size

类型: UINT

指定 pMetaData 的大小(以字节为单位)。

[in, optional] pMetaData

类型: void*

指定引用元数据的 void 指针(如果存在)。 请参阅 DXGI_HDR_METADATA_HDR10 结构。

返回值

类型: HRESULT

此方法返回 HRESULT 成功或错误代码。

注解

此方法设置元数据,使监视器的输出能够根据其功能进行调整。 但是,它不会更改 Windows 或监视器解释像素值的方式。 若要调整交换链的颜色空间,请改用 SetColorSpace1

应用程序不应依赖于发送到监视器的元数据,因为可能会忽略元数据。 监视器不一致地处理 HDR 元数据,导致内容在不同监视器中出现不同外观。 为了确保在一系列监视器、设备和用例中输出更加一致,建议不要使用 SetHDRMetaData ,而是将内容调映射到监视器支持的范围和亮度范围。 请参阅 IDXGIOutput6::GetDesc1 检索监视器支持的域和亮度范围。 遵守 VESA DisplayHDR 标准的监视器将自动对超出监视器支持的范围和亮度范围的内容执行一种形式的剪辑。

有关如何编写动态响应监视功能的应用的更多详细信息,请参阅 将 DirectX 与高动态范围显示器和高级颜色配合使用

要求

   
目标平台 Windows
标头 dxgi1_5.h
Library Dxgi1_5.lib
DLL Dxgi1_5.dll

另请参阅

DXGI 1.5 改进

IDXGISwapChain4