¿Cuál es la representación de color más precisa físicamente posible en gráficos de computadora?

8

Estoy buscando modelos teóricos e implementados para representar el color en el software que se esfuerza por la precisión física.

Sé que "el color solo existe en la mente" y que no tiene sentido buscar "precisión física", pero aún así, ¿cuánto mejor es el muestreo de espectro u otras representaciones de color más elaboradas para RGB simple, y qué? ¿Qué beneficios traerá? ¿En qué inconveniente además del rendimiento incurrirá (o el rendimiento es un inconveniente)?

Lennart Rolland
fuente
Volví a publicar una pregunta relacionada hace un tiempo que también puede ser relevante aquí: ¿Hay materiales comunes que no estén bien representados por RGB?
trichoplax
1
Las respuestas a esto probablemente también sean útiles. computergraphics.stackexchange.com/q/4321/56 . TL: DR - CIELAB fue hecho para ser una medida de color para la percepción humana. Desafortunadamente, diferentes pantallas muestran las cosas de manera diferente, por lo que no puede convertir fácilmente de RGB a esto. También ha habido avances en CIELAB a lo largo de los años para acercarlo a cómo los humanos perciben realmente el color. No estoy seguro si información útil, pero espero que sí!
Alan Wolfe

Respuestas:

7

La forma más precisa físicamente sería tener un l(θ) que para cada posible frecuencia de color tiene un cierto valor.

La conversión a RGB necesitaría una función de respuesta de frecuencia para cada canal y el resultado es entonces yonorteFrunarmiretultrunavyoolmitl(θ)Frmire(θ)reθ.

La luz reflejada tiene una función de respuesta bidimensional: LrmiFlmiCtmire(θ)=lyonorteCometroyonortesol(ϕ)R(ϕ,θ)reϕ. (ignorando el BRDF aquí por simplicidad)

Los inconvenientes son que, en lugar de solo 3 canales de color, ahora tiene infinitos canales de los que preocuparse.

monstruo de trinquete
fuente
Bueno, dije "posible", no "imaginario" ;-). Pero gracias por una buena respuesta!
Lennart Rolland
¿Hay un nombre para l(θ)? ¿O simplemente dices el theta?
Matthew Woo
1
@MatthewWoo Es un nombre que se me ocurrió en el acto, en realidad es la irradiación de DRDF con el parámetro adicional de longitud de onda.
freak
De hecho, debe considerar el espectro EM completo. Además, la pregunta no especifica si un ojo humano debe percibir las imágenes resultantes.
Matthias
7

Hay representación espectral , donde puede cuantificar las longitudes de onda visibles de ~ 390nm a ~ 700nm a N longitudes de onda discretas en lugar del estándar 3 para RGB. Entonces, si tuviera que modelar, digamos un prisma, obtendría una distribución más realista del espectro.

La luz también tiene la propiedad de polarización que necesitaría modelar para aumentar el realismo. No sé si esto se está modelando en algún motor de renderizado disponible públicamente y cómo lo representaría exactamente. La luz es una onda electromagnética con dos componentes eléctricos y magnéticos ortogonales, que pueden tener diferentes amplitudes y estar también desfasados, lo que puede dar lugar a una polarización elíptica. La polarización sería una propiedad relevante, por ejemplo, para modelar múltiples reflexiones especulares a partir de superficies dieléctricas, o modelar filtros polarizadores utilizados por los fotógrafos en las cámaras.

Tanto la representación espectral como la polarización de la luz contable conllevarían el costo del rendimiento y un mayor uso de la memoria.

JarkkoL
fuente