Pintura linear de cena¶
Anteriormente chamada de pintura HDR e pintura relativa à cena, a pintura linear de cena consiste em pintura digital em um tipo peculiar de espaço de cor. É a pintura em um espaço de cor que é…
Linear - não há codificação gama, mapeamento de tons ou qualquer outra coisa acontecendo com os pixels que você manipula. (Isso é diferente dos pixels que você vê, mas falaremos sobre isso mais tarde)
Ponto flutuante - Ou seja, usa ponto flutuante de 16 bits ou 32 bits por canal.
Essas são as duas características importantes. O espaço de cor tem algumas outras propriedades além dessas, como o ponto branco ou, mais importante, os corantes que compõem o gamute. Mas aqui está a questão: esses dois podem ser qualquer coisa, desde que o espaço seja linear e a profundidade de cor seja de ponto flutuante.
Portanto, Cena linear não é um único espaço de cor, mas um TIPO de espaço de cor. Você pode ter um espaço de cena linear que use os corantes sRGB/Rec. 709, ou um que use Adobe RGB, ou talvez um que use Rec. 2020, desde que seja linear e em uma profundidade de bits de ponto flutuante.
Nota
Se quiser criar imagens para exibição em uma tela HDR, você precisará selecionar o perfil Rec. 2020 com gama linear. O perfil padrão no Krita para isso é Rec2020-elle-V4-g10.icc.
Esses dois fatores existem por um motivo: criar valores arbitrários para preto e branco. Isso pode parecer um pouco estranho. Mas, quando se lida com fontes de luz, lida-se com uma gama enorme de contrastes e, posteriormente, é preciso decidir qual branco e qual preto se deseja ter. É isso que a cena significa em cena linear: os valores relevantes são únicos por cena, como uma cena do mundo real: um campo de flores iluminado pelo luar, uma cidade ao crepúsculo ou uma praia ensolarada. É importante conseguir dar a ênfase correta aos valores contrastantes mais importantes, e poder escolher o que é branco e o que é preto é uma ferramenta muito poderosa nesse caso. Afinal, os humanos no mundo real conseguem enxergar muito mais quando se acostumam com o escuro ou com o sol, então por que não aplicar isso à forma como criamos nossas imagens?
É também por isso que precisa ser linear. Os espaços de cor com mapeamento de gama e tons já estão escolhendo qual contraste é mais importante para você. Mas, para isso, eles também precisam escolher o que é branco ou preto. O linear não faz tais suposições, sendo muito melhor quando você quiser escolher por conta própria. Eventualmente, você vai querer aplicar algum mapeamento de tons ou correção de gama na sua imagem, mas somente no final, depois de aplicar filtros e misturar cores!
Na verdade, há sempre uma espécie de transformação não destrutiva em andamento enquanto você trabalha na sua imagem, que inclui o mapeamento de tons. Isso é chamado de transformação de exibição ou de visualização, e fornece uma espécie de binóculo para o mundo da sua imagem. Sem ela, o computador não consegue exibir essas cores corretamente; ele não sabe como interpretá-las corretamente, muitas vezes deixando a imagem muito escura. Fornecer essa transformação e permitir que você a configure é a principal função do gerenciamento de cor.
Entre as diferentes transformações de visualização e exibição, também há uma diferença nos tipos. Algumas são realmente simples, outras são mais sofisticadas e algumas precisam ser usadas de uma determinada maneira para funcionar corretamente. O gerenciamento de cor ICC só pode fornecer um determinado tipo de transformação de visualização, enquanto o gerenciamento de cor OCIO no painel LUT pode fornecer transformações muito mais complexas, facilmente configuráveis e com configurações personalizadas que podem ser compartilhadas entre programas.
Acima, um exemplo da transformação mais ingênua obtida ao passar de sRGB linear de cena para sRGB regular, e à direita, uma transformação mais sofisticada proveniente da configuração OCIO da ferramenta fílmico. Observe a diferença entre as patas. Imagem de Wolthera van Hövell tot Westerflier, Licença: CC-BY-SA¶
Por outro lado, transformar e interpretar as cores da sua imagem é a única coisa que o OCIO pode fazer, e ele consegue fazer isso com transformações realmente complexas, muito rápido. Ele não entende qual é o espaço de cor original da sua imagem, não entende o que é CMYK e também não existe um perfil de cor OCIO. Portanto, você precisará mudar para um fluxo de trabalho ICC se quiser se preparar para impressão.
Sim, mas qual é o ponto?¶
O ponto é facilitar as coisas a longo prazo:
É mais fácil manter cores saturadas e não turvas em um espaço linear.
A alta profundidade de bits facilita a obtenção de misturas de cor mais suaves.
Os filtros são mais poderosos e oferecem resultados melhores nessa área. É muito mais fácil obter bons resultados de desfoque e bokeh.
Modos de mesclagem simples como Multiplicação ou Adição de repente se tornaram magia negra. Isso porque a cena linear é o mais próximo que se pode chegar do modelo físico (físico, não material) de cor, onde multiplicar cores entre si é uma das principais maneiras de calcular o efeito da luz.
Combinar pintura com outros resultados de imagem, como fotografia e renderização baseada em física, é muito mais fácil, pois ambos também funcionam nesse tipo de espaço de cor. Portanto, você pode usar essas imagens como referência sem problemas ou criar texturas que combinem bem com esse renderizador.
Portanto, as vantagens são cores mais bonitas, resultados de filtros mais legais, mais controle e troca mais fácil com outros métodos.
Certo, mas por que isso não está na moda então?¶
Simplificando, porque embora seja mais fácil no longo prazo, você também terá que abandonar ferramentas e mudar hábitos…
Em particular, há muitas ferramentas na caixa de ferramentas de um pintor digital que têm suposições codificadas sobre preto e branco.
Um problema muito simples, mas enorme, é o da inversão. A inversão de cores é feita por código, pegando a cor do branco e subtraindo dela a cor que você deseja inverter. É usada em muitos modos de mesclagem. Mas, frequentemente, a cor branca é codificada nesses filtros. Atualmente, não existe nenhum aplicativo que permita definir o intervalo de valores com o qual a inversão é feita, então a inversão é inútil. E isso também se aplica aos filtros e modos de mesclagem que a utilizam, como (mas não se limitando a)…
Tela (inverter+multiplicar+inverter)
Sobreposição (valores de tela abaixo do valor de meio-tom, em sRGB seria cinza médio)
Clarear (dodge) cor (divide a cor inferior com uma inversão da superior)
Escurecer (burn) cor (inverte a cor inferior e depois a divide pela cor superior)
Luz dura (uma maneira diferente de fazer sobreposição, incluindo a inversão)
Luz suave (usa várias inversões ao longo do caminho)
Por outro lado, Multiplicar, Subexposição/Adição Linear (são a mesma coisa), Subtrair, Dividir, Mais Escuro (compara apenas os valores dos canais de cores), Mais Claro (idem) e Diferença são bons de usar, desde que o programa que você usa não faça recortes estranhos ali.
Outro exemplo são os algoritmos HSL, HSI e HSY. Eles também precisam assumir algo sobre o valor máximo para permitir o escalonamento para o branco. O HSV não tem esse problema. Portanto, é melhor usar um seletor de cor HSV.
Para os modos de mesclagem que usam HSY, há sempre o problema de que eles tendem a ser codificados para valores sRGB/Rec. 709, mas, de resto, funcionam bem (e, na verdade, fornecem resultados muito mais precisos em um espaço linear). Portanto, não são uma boa ideia usá-los com espaços de cor de amplo gamute e, devido à premissa de preto e branco, com pintura linear de cenas. Os seguintes modos de mesclagem os utilizam:
Cor
Luminosidade
Saturação
Cor mais escura (usa luminosidade para determinar a cor)
Cor mais clara (Idem)
Então, esses são os modos de mesclagem. Muitos filtros sofrem de problemas semelhantes e, em muitas aplicações, os filtros não são ajustados para funcionar com brancos arbitrários.
Falando em filtros, ao usar a ferramenta de transformação, você também deve evitar usar o lanczos3, pois ele criará um halo preto estranho em contrastes nítidos em cenas lineares. O filtro de interpolação bilinear funcionará perfeitamente neste caso.
O segundo grande problema é que o preto não funciona exatamente da mesma forma.
Se você já misturou pigmentos antes, sabe que o preto pode facilmente sobrepujar as outras cores, então adicione apenas uma pequena quantidade dele à mistura. O branco, por outro lado, suja com bastante facilidade.
Em um espaço de cor de cena linear, isso é invertido. O branco agora é mais predominante e o preto é desbotado muito rapidamente. Isso se relaciona à natureza aditiva da teoria da cor digital, que se torna mais óbvia ao trabalhar em linear.
Isso torna o processo de esboçar um pouco diferente, afinal, é muito difícil fazer marcas hoje em dia. Para contornar isso, você pode fazer o seguinte:
Desenhe sobre um fundo cinza médio. Isso é recomendado de qualquer maneira, pois serve como um fundo neutro. Para um espaço linear, 18% ou 22% de cinza seria um bom tom neutro.
Crie um pincel especial que seja mais opaco do que os pincéis de desenho comuns que você usa.
Ou, inversamente, faça um esboço com branco.
Para pintar, bloqueie as formas com um pincel grande e opaco antes de começar a misturar.
No geral, isso é algo que levará um tempo para você se acostumar, mas você se acostumará em breve.
Por fim, há a questão do tamanho.
Imagens com 16 bits flutuantes por canal são grandes. Imagens com 32 bits flutuantes por canal são maiores ainda. Isso significa que elas consumirão RAM e que a pintura e a filtragem serão mais lentas. Isso é algo que se corrigirá com o passar dos anos, mas poucas pessoas têm um PC de última geração, então pode ser um obstáculo.
Então as questões são ferramentas, expectativas e tamanho.
Em resumo¶
Pintura linear de cena consiste em pintar uma imagem em um espaço de cor linear com profundidade de bits de ponto flutuante. Isso não pressupõe nada sobre os valores de preto e branco, portanto, você só pode usar ferramentas que não pressupõem nada sobre os valores de preto e branco. A vantagem é que ela oferece resultados de filtro mais agradáveis e melhores misturas de cores, além de melhor interoperabilidade com outras saídas lineares de cena.
Para visualizar essa imagem, você usa uma transformação de exibição, também chamada de conversão de exibição. Isso significa que, se você quiser finalizar sua imagem para a web, faça uma cópia da imagem que passa por uma conversão de exibição ou transformação de exibição e, em seguida, é salva em PNG, JPEG ou TIFF.
Chegando à pintura real¶
Agora que abordamos a teoria, vamos analisar um fluxo de trabalho para pintar cenas lineares.
Configurando a tela de pintura¶
Selecione uma imagem de 16 ou 32 bits. Por padrão, o Krita selecionará um perfil sRGB linear. Se você quiser criar imagens para exibição em HDR, precisará garantir que o perfil selecionado seja o Rec2020-elle-V4-g10.icc. As imagens HDR são padronizadas para usar o gamute Rec. 2020, que é muito maior que o sRGB em tamanho, o que garante que você tenha acesso a todas as cores.
Se estiver trabalhando em um monitor não habilitado para HDR, você deve habilitar o OCIO no painel LUT.
Lembre-se de tudo o que foi mencionado acima. Nem todos os filtros e modos de mesclagem funcionam. Isso vai melhorar no futuro. Fora isso, todo o resto permanece igual.
Escolhendo cores realmente brilhantes¶
Escolher cores comuns é fácil, mas como escolhemos as cores realmente brilhantes? Há três maneiras de acessar as cores realmente brilhantes no Krita:
Reduzindo a exposição no painel LUT. Isso aumentará a gama de cores visíveis nos seletores de cor. Você pode até mesmo usar um atalho de teclado para definir a exposição nas configurações de entrada da tela.
Configurando o controle deslizante de nits no Seletor de cor pequeno para um valor maior que 100.
Ou simplesmente abrindo o seletor de cor interno clicando duas vezes no botão de duas cores e digitando valores maiores que 1 no campo de entrada.
E, finalmente, escolhendo uma cor realmente brilhante de uma imagem que tenha tais valores.
Em seguida, pinte. É recomendável fazer várias amostras no canto, pelo menos, até que o novo painel de paleta do Krita permita salvar os valores corretamente.
Fluxo de trabalho baseado em iluminação¶
Então, temos nosso fluxo de trabalho típico baseado em valores, onde pintamos apenas os tons de cinza da imagem para que possamos focar nos valores da imagem. Podemos fazer algo semelhante com a pintura linear de cena.
Enquanto no fluxo de trabalho baseado em valor, você pinta a imagem como se fosse uma escala de cinza do que você pretendia pintar, no fluxo de trabalho baseado em iluminação, você pinta como se todos os objetos fossem brancos. O efeito da cor de um objeto pode ser determinado multiplicando sua cor base pela cor da luz. Assim, você pode pintar objetos como se fossem brancos, pintar as cores em uma camada separada e simplesmente usar o modo de mesclagem Multiplicar para obter as cores corretas.
A imagem mais à esquerda mostra a camada de iluminação e a camada de cor separadas, a do meio com as duas camadas multiplicadas e a da direita uma visão baseada na luminosidade. Este gato é um bom exemplo, pois demonstra por que ter texturas e iluminação separadas pode ser interessante.¶
Você pode até combinar isso com um fluxo de trabalho baseado em valor, abrindo uma nova visualização e definindo o componente como luminosidade. Dessa forma, você pode ver tanto a versão em tons de cinza quanto a versão baseada em iluminação da imagem lado a lado.
Os mais atentos perceberão que um fluxo de trabalho baseado em iluminação se assemelha à ideia de uma passagem de luz e uma passagem de cor na renderização 3D. E, de fato, é basicamente a mesma coisa, então você pode usar passagens de iluminação de renderizações 3D aqui, basta salvá-las como EXR e importá-las como uma camada. Um dos exemplos em que a pintura linear de cena simplifica a combinação de métodos.
Concluindo¶
Quando terminar, você vai querer aplicar a transformação de visualização que estava usando para a imagem (pelo menos, se quiser publicar o resultado final na internet). Isso se chama LUT baking e ainda não é possível no Krita. Portanto, você terá que salvar sua imagem em EXR e abri-la no Blender ou no Natron. Depois, no Blender, basta usar a mesma configuração do OCIO, selecionar os valores corretos e salvar o resultado como PNG.
Para salvar imagens HDR, verifique a página Monitor HDR.
Você pode até usar alguns filtros do Blender ou do Natron nesta fase e, ao trabalhar com outros, você pode salvá-los no EXR para que outros possam usá-los.