Iluminação HDR (Direct3D 9)

A iluminação no mundo real contém um HDR (intervalo dinâmico) muito alto de valores de luminância. O mundo real tem cerca de 10 pedidos de DR (alcance dinâmico) para valores de luminância espalhados pelo espectro da escuridão ao brilho. Por outro lado, uma tela de computador tem uma gama de exibição muito limitada (ou intervalo de valores de luminância): aproximadamente duas ordens de intervalo dinâmico. O desafio de produzir imagens renderizadas do HDR é mapear os valores de HDR do mundo real para a gama limitada de uma tela de computador.

Mapeamento de tom é a técnica usada pelo DirectX para mapear informações de HDR em um intervalo mais limitado. O mapeamento de tom aplicado à renderização de CGI pode melhorar drasticamente a quantidade de detalhes de iluminação renderizados, permitindo que detalhes nas áreas mais escuras sejam vistos e fornecendo contraste em áreas tão brilhantes, que parecem queimadas. As cenas resultantes são renderizadas com detalhes de iluminação muito mais visíveis.

O Exemplo de HDRLighting é um exemplo de SDK que demonstra a iluminação do HDR.

Mapeamento de tom

O mapeamento de tom geralmente simula fenômenos ópticos que não podem ser causados pela DR do monitor. Exemplos disso são sinalizadores ou florescimento (que são principalmente propriedades de lentes), a mudança azul que acontece no olho humano em condições de baixa luz e outras adaptações que são resultado da bioquímica do olho. Se a DR da exibição fosse grande o suficiente, o mapeamento de tom não seria tão necessário, exceto para fornecer efeitos artísticos ou algumas das propriedades de uma lente de câmera ou um CCD (dispositivo acoplado por carga).

O mapeamento de tom divide o intervalo de valores de luminância em uma cena em um conjunto de zonas. Cada zona abrange um intervalo de valores de luminância.

O HDR usa os seguintes termos:

  • Zona – intervalo de valores de luminância
  • Cinza médio - região de brilho médio da cena
  • Intervalo dinâmico – proporção da luminância de cena mais alta para a luminância de cena mais baixa
  • Chave - medida subjetiva da iluminação da cena: isso varia de claro a moderado a escuro

Para calcular a luminância de valores RGB, use este:

L = 0.27R + 0.67G + 0.06B;

A luminância média de log é uma aproximação útil para a chave de uma cena. Uma equação geral tem esta aparência:

Lw = exp[ 1 / N( sum[ log( delta + Lw( x, y ) ) ] ) ] ]

Em que:

  • Lw - luminância média de log
  • N – número de pixels na imagem
  • delta – um pequeno fator para evitar problemas com pixels pretos
  • Lw( x, y ) – a luminância do espaço mundial para pixel ( x, y )

Para mapear isso para um valor cinza médio, aqui está um operador de dimensionamento de luminância:

L( x, y ) = a * Lw( x, y ) / Lw

Em que:

  • L( x, y ) – luminância dimensionada para pixel ( x, y )
  • a – valor da chave de imagem depois de aplicar o dimensionamento

E, por fim, aqui está um operador de mapeamento de tom simples para compactar as luminâncias altas:

Ld( x, y ) = L( x, y ) / ( 1 + L( x, y ) )

Em que:

  • Ld( x, y ) – luminância compactada e dimensionada para pixel ( x, y )
  • a – valor da chave de imagem depois de aplicar o dimensionamento

Esse operador dimensiona luminâncias altas em 1/L e luminâncias baixas em 1. Para obter mais detalhes, consulte o artigo a seguir.

Reinhard, Erik, Mike Stark, Peter Shirley e James Ferwerda. "Reprodução de tom fotográfico para imagens digitais". ToG (Transações de ACM em Gráficos), Procedimentos da 29ª Conferência Anual sobre Elementos Gráficos computacionais e Técnicas Interativas (SIGGRAPH), pp. 267-276. Nova York, NY: ACM Press, 2002.

Tópicos Avançados