Existe-t-il des matériaux courants qui ne sont pas bien représentés par RGB?

34

Dans les graphiques, nous utilisons RVB et d'autres espaces colorimétriques comme une approximation du spectre complet des longueurs d'onde. Cela fonctionne évidemment assez bien en général, mais existe-t-il des objets / matériaux / phénomènes assez communs, des choses que vous pourriez rencontrer dans votre vie quotidienne, dont l'apparence n'est pas bien représentée par le rendu RVB en raison de la complexité de son spectre d'émission / de réflexion / d'absorption ?

Bien que les réponses actuelles se concentrent principalement sur les couleurs situées en dehors d'une gamme de couleurs RVB donnée, je voudrais également savoir s'il existe des exemples où, par exemple, la couleur d'un objet apparaît "fausse" lorsqu'elle est rendue en RVB en raison d'une interaction entre spectre de la source lumineuse et spectre de réflexion de l'objet. En d'autres termes, un cas où un moteur de rendu spectral vous donnerait des résultats plus corrects.


Crédit: J'ai aimé cette question dans la version bêta privée précédente, donc je la reproduis ici. Nathan Reed a d'abord demandé

trichoplax
la source
2
Je me suis souvenu de cet article que j'ai lu il y a quelque temps. Les auteurs comparent les résultats spectraux et rendus RVB avec différents illuminants. Malheureusement, la comparaison est faite sur un nuancier, alors je ne sais pas dans quelle mesure les différences affectent les scènes de la vie réelle. cg.cs.uni-bonn.de/en/publications/paper-details/…
yuriks
La loi de Beer (absorption de la couleur à travers un objet transparent sur une distance) est difficile à modéliser avec rgb.
Alan Wolfe
@trichoplax Désolé pour le bruit!
Luser droog
@ luserdroog merci pour l'intérêt :) Même si cette question concerne uniquement les matériaux, nous pourrions le faire avec de nouvelles questions relatives aux espaces colorimétriques ...
trichoplax

Réponses:

25

Il existe différents types de limitation à prendre en compte.

Effets pour lesquels le trajet d'un rayon dépend de sa longueur d'onde

Il s'agit d'une classe d'effets pour laquelle un rendu spectral est requis et un certain nombre d'exemples intéressants ont déjà été donnés dans la réponse de Benedikt Bitterli . Un exemple simple est un prisme divisant la lumière blanche en un spectre, donnant des couleurs arc-en-ciel. Les rayons de différentes longueurs d'onde sont réfractés selon différents angles lorsqu'ils traversent le prisme, ce qui a pour effet que la lumière frappant le mur derrière le prisme est scindée en ses couleurs constitutives.

Cela signifie que, dans la réalité, une lumière jaune monochromatique brillante à travers un prisme produira une lumière jaune, mais un mélange de lumière rouge et verte qui se rapproche du jaune fera émerger une lumière rouge et verte séparée. Lorsque le rendu utilise uniquement 3 couleurs primaires, la lumière blanche se scinde en seulement ces trois couleurs, ce qui donne des effets arc-en-ciel d'apparence discontinue. La lumière monochromatique qui ne devrait pas du tout se diviser se divisera en ses composantes de couleurs primaires approximatives. La division de la lumière blanche peut être améliorée en utilisant un plus grand nombre de couleurs primaires, mais cela continuera à donner des discontinuités de plus près, et les résultats pour la lumière monochromatique seront toujours séparés, bien que de manière plus étroite. Pour des résultats précis, un spectre continu doit être échantillonné,

Effets de surface qui ne peuvent pas être capturés dans une seule image fixe

L'iridescence , par exemple, affiche une couleur différente pour chaque œil, de sorte qu'une image fixe ne sera pas identique à l'objet d'origine. Il existe de nombreux exemples quotidiens que vous pourriez ne pas remarquer au début. De nombreux oiseaux communs ont des plumes irisées même s'ils apparaissent noirs ou gris à distance. De près, ils sont étonnamment colorés.

Un moteur de rendu utilisant uniquement 3 couleurs primaires ne sera pas en mesure de produire l'étalement de la lumière en fonction de la longueur d'onde requise pour cet effet. Un moteur de rendu spectral peut simuler correctement l'étalement, mais l'effet complet ne peut toujours pas être capturé dans une seule image. Même une photo en 2d ne peut pas capturer cela correctement, alors qu'une photo en 3D d'un objet irisé donnera cet effet chatoyant car les photographies correspondant aux yeux gauche et droit seront colorées différemment. Il s'agit d'une limitation d'images 2d plutôt que de l'espace colorimétrique RVB lui-même. Cependant, même dans une image 3D, il y aura des couleurs dans l'objet irisé qui ne seront pas affichées correctement, en raison de l'incapacité de RVB d'afficher des couleurs monochromes, comme décrit ci-dessous.

Couleurs que l'oeil humain peut détecter et qui ne peuvent pas être affichées en RVB

RGB était historiquement dépendant du périphérique et donc peu fiable entre les plates-formes. Il existe des améliorations uniformes sur le plan perceptuel et indépendantes du périphérique, telles que l'espace colorimétrique Lab , mais elles sont toujours trichromatiques (avec 3 composants). Il n’est pas évident de comprendre pourquoi trois composants sont insuffisants pour afficher toutes les couleurs pouvant être perçues par un œil trichrome, mais le présent document explique ce phénomène de manière simple et accessible. A partir de la page 7:

Par exemple, en utilisant un système d’affichage laser moderne avec des couleurs primaires monochromatiques à 635 nm (rouge), 532 nm (vert) et 447 nm (bleu), voyons si nous pouvons simuler la perception d’une lumière monochromatique à 580 nm (une couleur orange). Étant donné que le stimulus orange monochromatique excite les cônes verdâtre et rougeâtre, une contribution est requise à la fois pour les couleurs primaire verte et rouge, tandis qu'aucune contribution n'est requise pour la source bleue. Le problème est que le primaire vert excite également les cônes bleuâtres, rendant impossible la réplication exacte du stimulus orange.

Le diagramme des sensibilités des cônes de l’œil humain (également à la page 7) montre l’ampleur du chevauchement et permet de visualiser cette explication. J'ai inclus un graphique similaire de Wikipedia ici: (cliquez sur le graphique pour obtenir l'emplacement de Wikipedia)

Graphique des sensibilités des 3 différents cônes de l'oeil humain

En bref, le chevauchement de la gamme de couleurs pouvant être captées par chacun des trois cônes différents (capteurs de couleur) de l’œil humain permet de distinguer une couleur monochromatique d’un mélange approximatif de couleurs primaires, et donc d’un mélange de couleurs primaires. les couleurs ne peuvent jamais afficher avec précision toutes les couleurs monochromes.

Cette différence n’est généralement pas perceptible dans la vie quotidienne, car la plupart de notre environnement émet ou réfléchit de la lumière sur une large plage de fréquences plutôt que des couleurs monochromes uniques. Les lampes au sodium constituent toutefois une exception notable. Si vous habitez dans une partie du monde qui utilise ces lampadaires jaunes-oranges, la lumière émise est monochromatique et aura un aspect légèrement différent de celle d’une photographie imprimée ou d’une image sur un écran. La longueur d'onde de la lumière au sodium se trouve être à 580 nm de l'exemple cité ci-dessus. Si vous n'habitez pas dans un endroit où il y a des lampadaires au sodium, vous pouvez voir la même lumière à longueur d'onde unique en répandant du sel de table finement broyé (chlorure de sodium) sur une flamme. Les points de lumière jaune scintillant ne peuvent pas être capturés avec précision sur un film ou affichés sur un écran. Quelles que soient les trois couleurs primaires que vous choisissez,

Notez que cette limitation s'applique également au mélange de 3 couleurs primaires de peinture, à l'utilisation de 3 produits chimiques photoréactifs sur un film d'appareil photo, ou à la prise d'une photo avec un appareil photo numérique avec 3 capteurs de couleur différents ou un capteur unique avec 3 filtres de couleurs primaires différents. Ce n'est pas seulement un problème numérique, et ne se limite pas à l'espace colorimétrique RVB. Même les améliorations introduites par l'espace colorimétrique Lab et ses variantes ne permettent pas de récupérer les couleurs manquantes.

Effets divers

Réflexions diffuses multiples (saignements de couleur)

Si une surface mate de couleur vive est proche d'une surface blanche mate, la surface blanche montrera une partie de la couleur de l'autre surface. Ceci peut être modélisé assez bien en utilisant uniquement des composants rouges, verts et bleus. La même combinaison de rouge, de vert et de bleu qui a donné la couleur de la surface colorée peut se refléter sur la surface blanche et montrer à nouveau une partie de cette couleur. Cependant, cela ne fonctionne que si la deuxième surface est blanche. Si la deuxième surface est également colorée, le saignement des couleurs sera alors imprécis, parfois radicalement.

Imaginez deux surfaces de couleur similaire. L'une reflète une gamme étroite de longueurs d'onde autour du jaune. L'autre reflète une large gamme de longueurs d'ondes entre le rouge et le vert et, par conséquent, semble également jaune. Dans la vie réelle, la lumière apparaissant sur une surface en raison de l’autre ne sera pas symétrique. La plupart de la lumière atteignant la surface de la plage de longueurs d'onde étendue de l'autre sera réfléchie à nouveau, car la plage étroite des longueurs d'ondes entrantes se trouve toutes dans la plage la plus large. Cependant, la majeure partie de la lumière atteignant la surface de la plage de longueurs d’onde étroite de l’autre sera en dehors de la plage de mesure étroite et ne sera pas réfléchie. Dans un moteur de rendu RVB, les deux surfaces sont modélisées sous la forme d'un mélange de rouge monochromatique et de vert monochromatique, ne produisant aucune différence de lumière réfléchie.

Il s'agit d'un exemple extrême dans lequel la différence sera immédiatement perceptible à l'œil nu, mais il y aura au moins une différence subtile dans la plupart des images comprenant des saignements de couleur.

Matériaux absorbant une longueur d'onde et émettant une autre

La réponse de joojaa décrit l'absorption de la lumière ultraviolette par la neige, à réémettre sous forme de lumière visible. Je n'avais jamais entendu parler de ce qui se passait avec de la neige auparavant (et, frustré, je n'ai trouvé aucune preuve à l'appui, bien que cela expliquerait pourquoi la neige est "plus blanche que blanche"). Cependant, il existe de nombreuses preuves de ce qui se passe avec une large gamme d'autres matériaux, dont certains sont ajoutés aux détergents à lessive et au papier, pour donner des blancs plus brillants. Cela permet à la lumière visible totale sortant d'une surface d'être supérieure à la lumière visible totale reçue par cette surface, laquelle n'est pas encore bien modélisée en utilisant uniquement le mode RVB. Si vous voulez en savoir plus à ce sujet, le terme à rechercher est Fluorescence .

Yeux avec plus de 3 couleurs primaires

Il y a des animaux qui ont plus de 3 types de cônes dans les yeux, ce qui leur permet de percevoir plus de 3 couleurs primaires. Par exemple, de nombreux oiseaux, insectes et poissons sont des tétrachromates , qui perçoivent quatre couleurs primaires. Certains sont même des pentachromates et en perçoivent cinq. La gamme de couleurs que de telles créatures peuvent voir réduit la plage à afficher en utilisant uniquement le mode RVB. Bien au-delà, la crevette mante , qui est un dodécachromat, voit ses couleurs basées sur 12 cônes différents. Aucun de ces animaux ne serait satisfait par un affichage RVB.

Mais plus sérieusement, même pour les images destinées à des yeux humains, on pense que ce sont des tétrachromats humains qui voient en 4 couleurs primaires, et peut-être même certains qui en voient autant que 5 ou 6. À l'heure actuelle, ces personnes ne semblent pas être présentes en nombre suffisant pour que les affichages comportant plus de 3 couleurs primaires soient commercialement viables, mais si, à l'avenir, il devient plus facile d'identifier le nombre de couleurs primaires qu'une personne peut voir, cela pourrait devenir un trait attrayant et permettre ainsi sa propagation dans la population des générations futures. Donc, si vous voulez que vos arrière-petits-enfants apprécient votre travail, vous devrez peut-être le rendre compatible avec un moniteur hexachromatique ...


Pas vraiment pertinent pour cette question, mais lié: si vous voulez voir des couleurs qui ne sont disponibles ni dans le monde réel, ni dans les images RVB, jetez un coup d'œil à Couleurs chimériques ...

trichoplax
la source
15

Je crois que l’effet spectral le plus important qui ne peut pas être reproduit fidèlement avec RGB est la dispersion , causée par les diélectriques à indice de réfraction variant spectralement (habituellement modélisé avec l’ équation de Sellmeier ).

D'autres phénomènes spectraux sont généralement causés par les effets des vagues. Un exemple fréquent dans la vie réelle est l’ interférence entre couches minces , qui est provoquée par une ou plusieurs surfaces réfléchissantes superposées les unes sur les autres (par exemple, des nappes de pétrole, des bulles de savon). Un autre effet de vague que l'on peut parfois observer est la diffraction , causée par exemple par les réseaux de diffraction , qui est à l'origine de l'aspect funky des CD.

Benedikt Bitterli
la source
7

RVB fonctionne parce que c'est comme ça que notre appareil sensoriel fonctionne. Outre la dispersion, certains matériaux synthétiques et certains corps d'insectes présentent parfois des surfaces présentant des bandes de couleur très étroites. Ceux-ci pourraient bénéficier d'un rendu à large spectre.

Cependant, étant donné que beaucoup de ces effets sont assez localisés, vous pouvez souvent vous en sortir en rendant le shader très bizarre. Cela ne fonctionne pas correctement dans les réflexions et les réfractions, mais personne ne le remarquera probablement. À moins que vous ne fassiez une simulation physique, ce n’est pas vraiment grave. Mais si vous concevez l'optique, cela pourrait être un gros problème.

Certains matériaux, comme la neige, convertissent également les ultraviolets entrants en lumière visible. Encore une fois, ce type d’effet peut généralement être traité par des shaders / groupes de lumière spéciaux.

Les ailes de papillon sont également une curiosité car elles manipulent les phases des vagues et les formes de la lumière entrante. Donc, si vous voulez faire de la simulation physique sur ceux-ci, alors c'est une grosse affaire.

La polarisation de la lumière joue également un rôle important dans les effets des insectes et de l'eau.

joojaa
la source
3

Juste pour ajouter aux excellentes suggestions ci-dessus, il m'est apparu que, sans canal ultraviolet, les matériaux fluorescents seraient difficiles à modéliser.

Simon F
la source
1
Cela semble être plus un commentaire qu'une réponse. Vous pourriez peut-être expliquer pourquoi les matériaux fluorescents dépendent d'un canal ultraviolet et fournir des références?
Martin Ender
1
Je l'ai mentionné dans mon post n'utilisant tout simplement pas le mot fluoréscent. Quoi qu'il en soit, cela peut être accompli au niveau du shader.
joojaa
@joojaa: Désolé .. ça m'a échappé. Je supprimerais mon message s'il y avait un bouton évident pour le faire. Cela dit, je dirais que vous aurez toujours besoin de canaux supplémentaires ailleurs (et pas seulement de shaders) pour le gérer, par exemple une génération de cartes d’environnement à la volée.
Simon F
2
Supprimez-le ou ne le supprimez pas, pareil pour moi. Je préférerais que vous développiez cela. Il n’ya rien de mal à prouver à l’appui et les choses sont dites différemment tant que vous contribuez avec plus de clarté ou de nouvelles informations.
joojaa