Efeito de mapa de tom HDR
Este efeito ajusta o alcance dinâmico de uma imagem para melhor adequar o seu conteúdo à capacidade do ecrã de saída.
As propriedades para esse efeito são identificadas pelo D2D1_HDRTONEMAP_PROP enumeração, e o CLSID é CLSID_D2D1HdrToneMap.
Propriedades do efeito
Nome para exibição e enumeração de índice | Tipo e valor padrão | Descrição |
---|---|---|
InputMaxLuminance, D2D1_HDRTONEMAP_PROP_INPUT_MAX_LUMINANCE | FLUTUAR | O nível máximo de luz (ou MaxCLL) da imagem, em lêndeas. |
OutputMaxLuminance, D2D1_HDRTONEMAP_PROP_OUTPUT_MAX_LUMINANCE | FLUTUAR | O MaxCLL suportado pelo destino de saída, em nits—normalmente definido para o MaxCLL do monitor. |
DisplayMode, D2D1_HDRTONEMAP_PROP_DISPLAY_MODE | D2D1_HDRTONEMAP_DISPLAY_MODE | Quando definido como _HDR, a curva de mapeamento de tons é ajustada para melhor se ajustar ao comportamento de monitores HDR comuns. |
Comentários
O valor para 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 de exemplo de renderização de imagem colorida avançada doDirect2D) para calcular o nível máximo de luz (MaxCLL) de uma imagem, em nits.
O valor para OutputMaxLuminance
foi projetado para ser derivado do display, usando DXGI_OUTPUT_DESC1::MaxLuminance.
O efeito de mapa de tons HDR tem curvas de mapa de tons diferentes, dependendo se a tela é uma tela HDR ou uma tela SDR/WCG.
Este efeito destina-se a ser combinado com o efeito de ajuste de nível de branco para permitir que você renderize imagens HDR em Direct2D com gerenciamento de cores e mapeamento de tons adequados. Destina-se a qualquer estrutura que pretenda fornecer a melhor experiência de visualização de imagens HDR da sua classe, que lida com todos os formatos de imagem HDR do Windows e se adapte às capacidades do ecrã (quer seja HDR ou WCG/SDR). Pretende-se que os efeitos sejam encadeados em sequência, como a seguir se descreve.
- 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 scRGB (CCCS).
- Aplique o efeito de mapa de tons HDR. Diminua o nível de luz da imagem para o nível desejado.
- Aplique o efeito de ajuste do nível de branco. Dimensione o nível de branco da imagem para o nível de branco exigido pela cadeia de permuta.
- Aplique o efeito de gerenciamento de cores novamente. Se renderizar para 8bpc, então converta para sRGB.
Requerimentos
Exigência | Valor |
---|---|
Cliente mínimo suportado | Windows 10, versão 1809 (10.0; Build 17763) [aplicativos de desktop | Aplicativos UWP] |
Cabeçalho | d2d1effects_2.h |
Biblioteca | d2d1.lib, dxguid.lib |