Fluxos de trabalho lineares são uma abordagem de sombreamento, iluminação e renderização que oferece muitas vantagens sobre o trabalho diretamente com valores de vídeo não lineares, como sRGB. O gerenciamento de cores permite um fluxo de trabalho linear ao converter corretamente as cores entre os diferentes espaços de cores usados para entrada, renderização, exibição e saída.
Os espaços de cores especificam uma cor sem ambiguidade em termos dos componentes principais, e também o ponto branco, a codificação e outros atributos. Por exemplo, os valores primários vermelho, verde e azul usados para uma imagem sRGB em uma página da Web são diferentes dos usados por um projetor de cinema digital P3, e as condições de luz circundante para visualização na Web e no cinema também são diferentes. No entanto, é possível converter com precisão as cores para exibição em um monitor ou em um projetor padrão, pois os espaços de cores sRGB e ICD-P3 são bem caracterizados. No entanto, para interpretar corretamente uma trinca RGB como (0.5, 0.25. 0.25) ), seu espaço de cor desejado deve ser conhecido.
Os agentes de renderização modernos imitam a forma como a transmissão, a absorção, a reflexão e a refração da luz funcionam no mundo real. As luzes em uma cena 3D devem, portanto, ter uma correspondência muito próxima à iluminação real, seja ela externa ou em estúdio, em que os valores de cor são diretamente proporcionais à quantidade de energia da luz; resumindo, isso é chamado de espaço de trabalho linear de cena referenciada ou linear da cena. Em tal espaço de cor, não há brilho máximo: (1.0, 1.0, 1.0) é a cor considerada como "branca" por um observador típico que esteja totalmente adaptado à iluminação, mas as origens de luz e reflexões especulares podem ser muito mais brilhantes.
No entanto, os dispositivos de exibição têm um brilho máximo que também é indicado por (1.0, 1.0, 1.0) ou (255, 255, 255) quando expresso como valor inteiro de 8 bits. Mesmo em um dispositivo de alto alcance dinâmico, esse valor mais brilhante sequer se aproxima do que pode ocorrer no mundo real. Isso torna necessário mapear os valores de faixa dinâmica alta da cena para uma faixa mais limitada para exibição. O simples dimensionamento dos valores de cor para baixo, para ajustar a faixa de exibição, fornece uma imagem desagradável e com aparência "turva". É necessário um mapa de tons com resposta fotográfica.
Além de um alto intervalo dinâmico, também é geralmente desejável usar um espaço de cor com gama amplo para renderização. Isso permite representar mais cores e é particularmente importante no caso de conteúdo para cinema digital e TV HDR, que tem faixas mais largas que sRGB e HDTV (Rec. 709).
No caso de imagens usadas como entradas para texturas, pode ser necessária uma transformação para converter do espaço de cor no qual as imagens foram salvas no espaço de renderização.
À medida que você trabalha, as cores do espaço de renderização precisam ser convertidas para fornecer uma visualização útil. Normalmente, você busca uma visualização precisa da imagem final, mas às vezes pode querer outra vista, para fins de diagnóstico.
Para a renderização final, talvez você queira aplicar uma transformação de saída, dependendo de como os arquivos serão usados.
A maneira correta de lidar com uma imagem de entrada, como uma textura, por exemplo, depende de como essa imagem é usada na cena. Isso também depende da própria imagem, inclusive seu espaço de cor atual, sua codificação e seu estado de imagem (se seus valores de cor são proporcionais aos valores de luminosidade referenciados pela cena ou pela exibição).
As imagens usadas para dados não coloridos não devem ter nenhuma transformação aplicada. Isso inclui mapas de saliência, normal e de deslocamento, além de mapas usados para outros atributos, como translucidez, especularidade, reflexibilidade e assim por diante.
Na primeira, os valores de referência de cena são convertidos em um espaço de referência de exibição. Por exemplo, isso pode envolver um mapa de tom para converter cores de um alto intervalo dinâmico para o intervalo [0.0] e uma alteração de cores primárias.
A segunda etapa converte os valores para de uma exibição específica. Isso pode envolver outra alteração de cores primárias, gama apropriado e codificação como valores inteiros adequados.
Normalmente, as imagens são visualizadas em condições de iluminação muito mais opacas do que uma cena externa ou um set de filmagem com muita luz; por isso, os mapas de tons são usados para compactar valores de faixa dinâmica alta no intervalo de exibição com uma resposta fotográfica que produz uma imagem agradável. Os mapas de tom normalmente aplicam uma curva em forma de S que aumenta o contraste e a saturação para compensar a faixa dinâmica inferior e condições de visualização mais opacas. Essa curva também mapeia um valor de 1.0 no espaço de renderização para um valor menor, para permitir que o espaço de exibição tenha realces mais brilhantes.
A simples aplicação de gama não é suficiente para preparar completamente uma imagem linear da cena para exibição. Sem um mapa de tons, os valores de cores acima de 1.0 permanecem dessa forma e são cortados pelo monitor.