Radiance HDR (.hdr)
Radiance PadrãoRadiance RGBE (HDR) é o formato fundamental de alta faixa dinâmica desenvolvido para o sistema de imagem sintética Radiance, armazenando valores de luminância fotometricamente precisos usando um expoente compartilhado de 8 bits.
Inspecionar e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos HDR inspecionando a sequência de bytes binários inicial:
Assinatura de Cabeçalho em Nível de Byte (Magic Bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos HDR inspecionando a sequência de bytes binários inicial:
ASSINATURA HEX (OFFSET 0):
23 3F 52 41 44 49 41 4E 43 45 0AREPRESENTAÇÃO ASCII: #?RADIANCE\n
Padronização: Radiance Synthetic Imaging System Standard
Especificações Técnicas
| Arquitetura do Contêiner | Cabeçalho ASCII terminando com uma linha vazia seguida pela string de resolução e linhas de varredura RLE binárias |
| Compressão | Codificação adaptativa de comprimento de execução (RLE) aplicada por linha de varredura de canal |
| Ordem de Bytes (Endianness) | Big-Endian / Ordem de bytes de rede |
| Espaços de Cores | RGB Linear Rec.709 com coordenadas de cromaticidade CIE |
| Canais e Estrutura | RGBE: Vermelho, Verde, Azul (mantissas de 8 bits) + Expoente compartilhado de 8 bits |
| Dimensões Máximas | Praticamente ilimitado (strings de resolução sem sinal de 32 bits) |
| Transparência | Nenhuma (medições físicas de luminância radiante) |
| Streaming e Progressivo | Reprodução de streaming sequencial linha por linha |
Matriz de Comparação Técnica: HDR vs Concorrentes
| Atributo Técnico | HDR (Atual) | EXR | TIFF | JPEG |
|---|---|---|---|---|
| Codificação de Pixel | RGBE de 32 bits (expoente compartilhado de 8 bits) | Half de 16 bits / float de 32 bits por canal | Inteiro de 8/16 bits ou float de 32 bits | Inteiro com codificação gama de 8 bits |
| Caso de Uso Principal | Iluminação de ambiente em 360 graus (IBL) | Composição de múltiplos passes de VFX | Fotografia e pré-impressão | Gráficos web padrão |
| Escopo de Faixa Dinâmica | 76 ordens de grandeza (10^-38 a 10^38) | Intervalo de ponto flutuante praticamente infinito | Variável por profundidade de bits | Intervalo SDR limitado de 8 bits |
| Canais Suportados | Apenas RGB | Canais arbitrários ilimitados | Múltiplos canais arbitrários | RGB / CMYK |
Modos Comuns de Corrupção e Guia de Recuperação Hex
A imagem exibe bandas de listras horizontais em toda a largura do quadro.
Causa Raiz: Byte de contagem de comprimento de execução corrompido na descompressão RLE da linha de varredura.
Recuperação: Reconstrua os marcadores de linha de varredura danificados usando o Reparo HDR do File2File ou converta para EXR.
Análise de Segurança e Vetores de Ataque ao Analisador
Os decodificadores Radiance HDR geralmente analisam linhas de cabeçalho ASCII usando rotinas de string sem limites que podem acionar estouros de buffer na pilha.
Vetores de Ataque Conhecidos
- Chamadas descontroladas de sprintf/sscanf ao ler cabeçalhos de strings de resolução ('-Y %d +X %d').
- Escrita fora dos limites do heap durante a decodificação de linhas de varredura RLE malformadas.
- Estouro de inteiro ao alocar buffers de ponto flutuante de destino de 32 bits.
Melhores Práticas Defensivas: Valide o comprimento do cabeçalho ASCII e as dimensões da linha de varredura antes de alocar os buffers de imagem.
Origens Históricas e Marcos
Principais Vantagens e Prós
- Ocupação de memória compacta de 32 bits por pixel, abrangendo 76 ordens de grandeza de luminância de luz física.
- Suporte universal em pacotes de renderização 3D (Blender, Unreal Engine, Unity, Cinema 4D) para mapas de ambiente de 360 graus.
- Estrutura de arquivo simples e robusta, facilmente implementada em todas as plataformas de software.
Limitações Técnicas e Contras
- A bandas de quantização podem ocorrer em regiões extremamente escuras devido à codificação de expoente compartilhado de 8 bits.
- Os canais RGB não podem armazenar números negativos ou camadas arbitrárias de passes múltiplos.
- Largamente substituído pelo OpenEXR para produção de efeitos visuais de passes múltiplos.
Curiosidades Técnicas
- Cada arquivo Radiance HDR começa com o cabeçalho de texto '#?RADIANCE' ou '#?RGBE'.
- O formato foi criado para simular a iluminação arquitetônica física no projeto de edifícios antes que as estruturas fossem construídas.
- O icônico artigo de Paul Debevec de 1997 no SIGGRAPH, 'Recovering High Dynamic Range Radiance Maps from Photographs', usou este formato para revolucionar a iluminação em CGI.
Perguntas Técnicas Frequentes
Para que serve um arquivo HDRI em 3D?
Os arquivos HDRI (.hdr) são usados como mapas de ambiente panorâmicos de 360 graus para fornecer iluminação, sombras e reflexos do mundo real fotorrealistas em objetos 3D.
Como funciona a codificação RGBE de 32 bits?
Em vez de armazenar três números de ponto flutuante separados, o RGBE usa 8 bits para cada um dos canais vermelho, verde e azul, mais um expoente compartilhado de 8 bits, ajustando a faixa dinâmica HDR completa em apenas 4 bytes por pixel.
Posso converter HDR para JPG?
Sim. O File2File.app pode aplicar mapeamento de tons e converter arquivos Radiance HDR de 32 bits em imagens JPG ou PNG padrão diretamente no seu navegador.