Melhore (muito) seus renders com HDRI

Ricardo Dias
CGNow
Published in
9 min readAug 12, 2019

Se você nunca ouviu falar de HDRIs, entenderá agora como esta técnica vai melhorar drasticamente seus resultados no Blender, adicionando novas possibilidades para a realidade de suas cenas 3D.

Para aumentar o nível de realidade em uma cena 3D no Cycles, muitos artistas utilizam uma configuração básica composta de duas lâmpadas do tipo Sun. Uma amarelada e outra azulada. A temperatura da cena pode ser configurada ajustando as nuances e a intensidade delas. Esta técnica gera um resultado muito bom, porém, não é fisicamente correta e acaba não atingindo o melhor resultado possível, quando o objetivo é criar uma cena realista.

Para melhorar o resultado, pode-se adicionar lâmpadas com intensidades bem pequenas nas áreas onde se deseja diminuir as sombras. Em cenas interiores tudo bem, mas em cenas exteriores, haja paciência para adicionar lampadas embaixo das árvores, dentro de buracos, affff. Dá um trabalhão.

Esse estresse todo pode ser evitado, pois existe uma maneira mais fácil e mais realista…

Podemos fazer isso usando mapas de ambiente! O Cycles Render tem o poder da Iluminação Global (GI) e podemos aproveitar isso com mais profissionalismo em nossas cenas 3D. Além de ser o jeito correto, para obter resultados realistas, não existe uma forma mais fácil e rápida de iluminar uma cena 3D do que usando uma imagem HDRI como mapa de ambiente.

No Blender, você pode fazer isso na aba World, presente tanto na Janela de Propriedades, como na Nodes Editor. Na entrada Color do node Background, basta adicionar uma Environment Texture com o mapa de ambiente desejado.

Se você nunca ouviu falar de HDRIs, entenderá agora como esta técnica vai melhorar seus resultados no Blender. Caso você já conheça, espero que as informações possam ser úteis para você aumentar um pouco mais seu conhecimento.

Explicando de forma simples, a HDRI é uma imagem instantânea do mundo real contendo informações de iluminação perfeitamente detalhadas, que podem transportar seus simples objetos 3D para ambientes virtuais extremamente realistas. Estas imagens especiais não só fornecem iluminação precisa, mas também podem ser vistas no fundo e nas reflexões da sua cena, o que torna sua utilização mais cativante.

Entendendo o HDRI

Antes de realmente começar a fazer alguma coisa, é importante compreender o funcionamento desta técnica e tentar desfazer o nevoeiro que existe em torno do assunto.

Resumindo, um HDRI é uma técnica que gera uma fotografia panorâmica capaz de cobrir a totalidade do campo de visão e conter uma grande quantidade de dados (normalmente 32 bits em cada um dos canais vermelho, verde e azul para cada pixel). Estes dados podem ser usados para emitir luz em uma cena 3D.

A sigla “HDRI” significa High Dynamic Range Imaging (Imagens de Grande Alcance Dinâmico). O “Dynamic Range”, ou “Alcance Dinâmico”, é a medida da quantidade de informações de brilho contidas em uma imagem, portanto, uma imagem de “Grande Alcance Dinâmico” é uma imagem com uma profundidade muito grande de brilho. Esta quantidade de brilho é tão grande que não é possível exibir tudo de uma só vez na tela.

A maioria das fotos e imagens em geral são de “Baixo Alcance Dinâmico” (LDR). Arquivos JPG por exemplo, armazenam 8 bits de dados em cada um dos canais vermelho, verde e azul para cada pixel. O problema destas imagens é que elas se limitam a um intervalo relativamente pequeno de brilho, de 0 a 255, o que é muito pouco para computação gráfica 3D, embora seja usável.

Se você deseja iluminar uma cena 3D com as informações de uma imagem, o que você realmente precisa é de um formato que seja capaz de armazenar mais do que apenas 8 bits de dados por canal. Você precisa de um alcance muito maior do brilho para que o programa 3D possa usar e iluminar a cena. Felizmente, existem vários formatos capazes de armazenar estas informações: os mais comuns são encontrados com a extensão “.hdr” e o melhor formato existente possui a extenção “.exr”.

Já vi na internet várias pessoas ensinarem a usar imagens JPG como mapas de ambiente, o que de certa forma não pode ser considerado como errado, mas sem dúvida não atingirá um resultado satisfatório se o objetivo for gerar cenas verdadeiramente realistas.

Para ilustrar a diferença entre um JPG e um arquivo HDR, tudo o que precisamos fazer é brincar com a iluminação dos dois. Após adicionar a imagem como Environment Texture no Blender, basta ajustar a exposição da cena na seção Film da aba Render e conferir o resultado na visão 3D. Nota: A 3D View deverá estar em modo Rendered.

Abaixo, confira uma animação comparativa do alcance luminoso de duas imagens. A metade da esquerda é uma imagem com a extensão .jpg e a metade da direita é uma imagem com a extensão .hdr. No primeiro quadro da animação parece ser uma unica imagem, mas ao longo da animação, conforme diminui a exposição da luz, a diferença entre as duas é perceptível.

Como você pode ver na animação acima, o arquivo .jpg (à esquerda) não tem absolutamente nenhum detalhe nas partes mais brilhantes, o retângulo branco inteiro é uma única cor sólida. Isso ocorre porque o brilho de qualquer pixel em uma imagem JPG é no máximo 255. No arquivo .hdr, no entanto, o brilho máximo é praticamente infinito, o que permite que as lâmpadas reais se tornem visíveis quando você escurece a imagem.

Neste exemplo você pode perceber que o arquivo em HDRI armazena o brilho da lâmpada corretamente. Nele lâmpada é muito mais brilhante do que a área retangular ao seu redor. Olhando para a versão JPG vemos apenas uma cor sólida. Isso significa que quando você usar a imagem em HDRI para iluminar uma cena 3D, esta lâmpada vai emitir muito mais luz.

Dica
Para iluminar uma cena, podemos usar apenas uma imagem HDRI, sem a necessidade de adicionar as lâmpadas do Blender. O uso da lâmpadas ficará como um recurso opcional para pequenos ajustes de iluminação.

Abaixo você pode ver uma cena simples iluminada com JPG e HDRI.

Como você pode ver, o arquivo .jpg (à esquerda) produz iluminação plana e nada realista. Já o arquivo .exr (à direita), gera sombras agradáveis com abundância de contraste como é esperado daquelas lâmpadas fluorescentes brilhantes.

A diferença é ainda mais notável quando usamos um exemplo que tem uma fonte de luz mais brilhante, como o sol:

Desta vez, a imagem .jpg nem parece ter iluminado os objetos. Lembrando que todos os 4 exemplos possuem exatamente as mesmas configurações, exceto pela imagem setada no ambiente.

Neste último exemplo, você pode verificar que a esfera cromada é idêntica nos dois formatos, porém a iluminação gerada por seus reflexos são completamente diferente devido ao fato de que o HDRI armazena a iluminação correta do sol e o arquivo comum corta estas informações quando chega em 255, o máximo que ele consegue armazenar.

Se você quiser, pode baixar esses HDRIs e experimentá-los você mesmo :).

Arquivos para Download

Não confunda!

Existem um termo usado por fotógrafos que pode gerar confusão, por isso vou deixar registrado aqui. É preciso distinguir uma foto HDR de uma imagem HDRI. São coisas distintas! As fotos HDR, na verdade, são imagens que usam o processo chamado tonemapped. A idéia é tirar várias fotos com diferentes exposições e juntá-las para que todas as partes da imagem fiquem corretamente expostas (não muito claras e nem muito escuras).

Por exemplo, ao tirar uma foto das nuvens, elas tendem a perder muita definição. Isso pode ser corrigido com tonemapping. O fotógrafo irá tirar várias fotos com exposições diferentes e jogá-las num software que faça tonemaping. No software ele irá escolher uma exposição mais escura para usar no céu e uma exposição mais clara para o resto da cena, gerando um equilíbrio.

A imagem abaixo é divulgada pela Adobe e exemplifica os resultados alcançados com o Photoshop na manipulação de fotografias HDR.

Na esquerda, a foto normal sem tonemapping. Na direita, o resultado final manipulado no Photoshop, continua sendo uma imagem de 8 bits, onde você conseguirá enxergar muitos detalhes que poderiam ser perdidos em uma foto normal. Mas, atenção, esta imagem não é de “Grande Alcance Dinâmico” (HDRI), ela continua sendo de “Baixo Alcance”, como um arquivo .jpg ou .png.

Uma verdadeira imagem HDRI estará em um formato que pode conter muitas informações (TIFF/HDR/EXR). Visualmente ela se parecerá com uma imagem qualquer, até que você ajuste sua exposição e revele a existência de cores muito mais brilhantes escondidas. Cores que não eram visíveis antes de configurar a exposição.

Formatos de HDRI

A sigla HDRI diz respeito à técnica usada para criar estas imagens de grande alcance dinâmico. Não significa que as imagens serão encontradas apenas com a extensão “.hdr”. Aliàs, as imagens “.hdr” não são o que há de melhor no mercado. As imagens com a extensão “.exr” são as melhores, pois podem armazenar muito mais informação do que as “.hdr”. Em outras palavras, se for para escolher, use imagens “.exr”.

Para uma explicação muito básica sobre esta diferença:

Radiance:
Os arquivos no formato “Radiance” (que possuem a extensão “.hdr”), são limitados a 24 bits de dados para imagens + 8 bits de brilho para cada informação de pixel. Isso totaliza 32 bits de dados. Estas informações são armazenadas em somente 3 canais denominados RGB.

OpenEXR:
Já os arquivos no formato “OpenEXR”, (que possuem a extensão “.exr”), podem conter tanto 16 bits como 32 bits de dados, calculados em ponto flutuante, o que aumenta infinitamente as possibilidades. Além dos canais RGB, o formato OpenEXR é capaz de armazenar muitos canais adicionais, dando uma liberdade imensa, principalmente para a composição (ou pós-produção) da cena 3D, comumente usada em efeitos especiais. Um exemplo do poder deste formato é que todos os filmes da Marvel utilizam texturas em .exr. Acho que não é preciso mais informações para que você escolha este formato sempre que for possível.

Dica
Se quiser analisar arquivos HDRI, editar, extrair, etc, você pode baixar doisprograminhas gratuitos: Luminance HDR ou o Fusion. Fazer o download para começar a brincar com seus arquivos.

Dicas finais

Quando você procurar por imagens HDRI para download na internet, geralmente elas serão distribuidos com um sufixo no final 1k, 2k, 4k, etc. Este sufixo define não apenas a resolução mas também o poder de alcance da iluminação contida nela. O ideal são imagens de, no mínimo 4k, ou seja 4096x2304 pixels de resolução, pois a iluminação terá uma profundidade muito melhor. Existem resoluções maiores, como 8k e 16k. Quanto maior melhor!

É importante dizer que só o tamanho da imagem não diz que ela é uma HDRI de qualidade. Por isso é preciso fazer testes com as HDRIs que você encontrar na internet.

Grande parte dos sites que oferecem imagens HDRI possuem pacotes pagos com resoluções a partir de 4k e disponibilizam gratuitamente apenas imagens até 2k. Mas existem sites que oferecem gratuitamente ótimas imagens em resoluções altíssimas, geralmente mediante cadastro.

Dica
Para poupar seu tempo, fiz uma lista contendo os sites que eu utilizo para baixar os HDRIs de meus projetos pessoais. Confira em https://medium.com/cgnow/15-links-para-baixar-hdris-6e0c3e44c4a1

Espero que este artigo tenha trazido informação importante pra você. Faça seus comentários, participe e aproveite o espaço dos comentários para publicar imagens com os resultados de suas renderizações com HDRI. Isso sem dúvida ajudará outras pessoas.

Até a próxima.

Referências de Pesquisa

--

--

Ricardo Dias
CGNow
Editor for

Apaixonado por padrões, programação clara, elegante e principalmente manutenível. Trabalha como desenvolvedor deste 2000, incrementando a cada ano este loop…