Qual é a representação de cor mais precisa fisicamente possível em computação gráfica?

8

Estou procurando modelos teóricos e implementados para representar cores em softwares que buscam precisão física.

Eu sei que "a cor existe apenas na mente" e que meio que não faz sentido procurar por "precisão física", mas ainda assim, quão melhor é a amostragem de espectro ou outras representações mais elaboradas da cor para RGB simples, e quais benefícios trará? Que desvantagem, além do desempenho, ocorrerá (ou o desempenho é uma desvantagem)?

Lennart Rolland
fonte
Repostei uma questão relacionada há algum tempo, que também pode ser relevante aqui: Existem materiais comuns que não são bem representados pelo RGB?
amigos estão dizendo sobre trichoplax
11
As respostas para isso provavelmente também são úteis. computergraphics.stackexchange.com/q/4321/56 . TL: DR - CIELAB foi feito para ser uma medida de cor para a percepção humana. Infelizmente, telas diferentes exibem as coisas de maneira diferente, portanto você não pode converter facilmente de RGB para isso. Também houve avanços no CIELAB ao longo dos anos para torná-lo mais próximo de como a cor é realmente percebida pelos seres humanos. Não tenho certeza se informações úteis, mas espero que sim!
Alan Wolfe

Respostas:

7

A maneira mais precisa fisicamente seria ter um que, para cada frequência de cor possível, tenha um determinado valor.eu(θ)

A conversão para RGB precisaria de uma função de resposta em frequência para cada canal e o resultado seria então .EunfrumaredvocêeutrumavEuoeueteu(θ)Fred(θ)dθ

A luz refletida tem uma função de resposta bidimensional: . (ignorando o BRDF aqui por simplicidade)eurefeuected(θ)=euEuncomEung(ϕ)R(ϕ,θ)dϕ

As desvantagens são que, em vez de apenas 3 canais de cores, agora você tem infinitos canais para se preocupar.

catraca arrepiante
fonte
Bem, eu disse "possível", não "imaginário" ;-). Mas obrigado por uma boa resposta!
Lennart Rolland
Existe um nome para ? Ou você acabou de dizer el theta? eu(θ)
Matthew Woo
11
@MatthewWoo É um nome que eu inventei no local, na verdade é a irradiância do DRDF com o parâmetro extra de comprimento de onda.
catraca aberração
De fato, você deve considerar o espectro completo de EM. Além disso, a pergunta não especifica se um olho humano deve perceber as imagens resultantes.
Matthias
7

Existe uma renderização espectral , na qual é possível quantificar os comprimentos de onda visíveis de ~ 390nm a ~ 700nm a N comprimentos de onda discretos, em vez do padrão 3 para RGB. Então, se você tivesse que modelar um prisma, obteria uma distribuição mais realista do espectro.

A luz também possui propriedades de polarização que você precisaria modelar para aumentar o realismo. Não sei se isso está sendo modelado em algum mecanismo de renderização disponível publicamente e como você o representaria exatamente. A luz é uma onda eletromagnética com dois componentes elétricos e magnéticos ortogonais, que podem ter amplitudes diferentes e também estar fora de fase, potencialmente resultando em polarização elíptica. A polarização seria uma propriedade relevante, por exemplo, para modelar várias reflexões especulares de superfícies dielétricas ou modelar filtros de polarização usados ​​por fotógrafos nas câmeras.

Tanto a renderização espectral quanto a polarização da luz contábil viriam com o custo de desempenho e maior uso de memória.

JarkkoL
fonte