Efeito de mapa de tom HDR

Esse efeito ajusta o intervalo dinâmico de uma imagem para se adequar melhor ao seu conteúdo para a funcionalidade da exibição de saída.

As propriedades desse efeito são identificadas pela enumeração D2D1_HDRTONEMAP_PROP e o CLSID é CLSID_D2D1HdrToneMap.

Propriedades do efeito

Nome de exibição e enumeração de índice Tipo e valor padrão Descrição
InputMaxLuminance, D2D1_HDRTONEMAP_PROP_INPUT_MAX_LUMINANCE FLOAT O nível máximo de luz (ou MaxCLL) da imagem, em nits.
OutputMaxLuminance, D2D1_HDRTONEMAP_PROP_OUTPUT_MAX_LUMINANCE FLOAT O MaxCLL compatível com o destino de saída, em nits, normalmente definido como MaxCLL da exibição.
DisplayMode, D2D1_HDRTONEMAP_PROP_DISPLAY_MODE D2D1_HDRTONEMAP_DISPLAY_MODE Quando definido como _HDR, a curva de mapeamento de tom é ajustada para se ajustar melhor ao comportamento de telas HDR comuns.

Comentários

O valor de InputMaxLuminance normalmente é derivado dos metadados da imagem. Para casos em que os metadados não estão presentes, você pode usar a função D2DAdvancedColorImagesRenderer::ComputeHdrMetadata (no Direct2D exemplo avançado de renderização de imagem de cores) para calcular o nível máximo de luz (MaxCLL) de uma imagem, em nits.

O valor de OutputMaxLuminance foi projetado para ser derivado da exibição, usando DXGI_OUTPUT_DESC1::MaxLuminance.

O efeito de mapa de tom HDR tem diferentes curvas de mapa de tom, dependendo se a tela é uma tela HDR ou uma tela SDR/WCG.

Esse efeito destina-se a ser combinado com o efeito de ajuste de nível branco para permitir que você renderize imagens HDR em Direct2D com o gerenciamento de cores e o mapeamento de tom adequados. Ele destina-se a qualquer estrutura que queira fornecer uma melhor experiência de exibição de imagem HDR na classe que manipula todos os formatos de imagem HDR do Windows e se adapta aos recursos da tela (seja HDR ou WCG/SDR). Os efeitos devem ser encadeados em sequência, conforme descrito abaixo.

  • Pegue a imagem de entrada, cujo espaço de cor definido por seu codec. Os metadados podem especificar whitePoint. Os metadados podem especificar o nível de luminância de entrada.
  • Aplique o efeito de gerenciamento de cores. Converter em espaço CCCS (scRGB).
  • Aplique o efeito de mapa de tom HDR. Reduza o nível de luz da imagem para o nível desejado.
  • Aplique o efeito de ajuste de nível branco. Dimensione o nível branco da imagem para o nível branco exigido pela cadeia de troca.
  • Aplique o efeito de gerenciamento de cores novamente. Se estiver renderizando para 8bpc, converta em sRGB.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1809 (10.0; Build 17763) [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho d2d1effects_2.h
Biblioteca d2d1.lib, dxguid.lib