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 |