Gamma et linéaire¶
Maintenant, la situation dont nous parlons en parcourant la théorie, est ce que l'on pourrait appeler « linéaire ». Chaque pas de luminosité a la même valeur. Nos yeux n'ont pas une perception linéaire. A la place, il est plus facile pour nous de distinguer les gris les plus sombres que les gris les plus clairs.
Comme les humains sont ceux utilisant des ordinateurs, ceux-ci ont été conçus pour donner plus d'espaces aux valeurs les plus sombres dans le système de coordonnées de l'image. Ceci est appelé « Encodage en gamma », car il applique une fonction de gamma au TRC ou une fonction de transfert d'image. Dans ce cas, le TRC, étant la courbe de réponse des tons ou la courbe de reproduction des tons ou la fonction de transfert (car les spécialistes de la gestion des couleurs se détestent), indique à votre ordinateur ou à votre imprimante, comment faire correspondre une couleur à une certaine valeur.
La table suivante affiche combien il y a de nombreux espaces pouvant être utilisés avec des valeurs plus petites dans un espace linéaire, en comparaison des TRC sRGB par défaut de nos ordinateurs modernes et des autres TRC disponibles dans les profils fournis :
Si vous regardez aux TRC linéaires 709, vous pouvez voir qu'il y a un écart significatif entre les nuances de gris les plus sombres et les plus clairs. Alors qu'en regardant les TRC « Lab L* » ou sRGB, elles semblent plus régulièrement espacées. Ceci provient de la sensibilité de nos yeux au valeurs plus sombres. Ceci signifie aussi que si vous n'avez pas une profondeur de bits suffisante, une image dans un espace linéaire apparaîtra avec d'affreuses bandes. Voilà pourquoi, lors de la création d'images pour affichage sur un écran, il vaut mieux toujours utiliser quelque chose comme des TRC « Lab L* » ou sRGB ou Gamma 2.2, avec lesquels encoder l'image.
Cependant, cette modification pour fournir plus d'espace aux valeurs les plus sombres ne conduit qu'à des calculs mathématiques fantaisistes lors du mélange de couleurs.
Ceci peut être observer avec l'expérience suivante :
Les cercles colorés, à demi floutés. Dans un environnement avec un gamma correct, ceci provoque l'apparition d'une bordure noire bizarre. Dans un environnement linéaire, ceci provoque l'apparition d'un joli dégradé.
Ceci compte aussi pour la brosse de tâches de couleurs :
Ce qui se passe sous le capot ?¶
Imaginez vouloir mélanger le rouge et le vert.
Tout d'abord, nous devriez avoir besoin des coordonnées de couleurs pour le rouge et le vers, à l'intérieur du modèle de couleurs de notre espace colorimétrique. Ainsi, ceci devrait être...
Couleur |
Rouge |
Vert |
Bleu |
---|---|---|---|
Rouge |
1.0 |
0.0 |
0.0 |
Vert |
0.0 |
1.0 |
0.0 |
Ces coordonnées sont alors une moyenne pour les trois mixages :
Rouge |
Mix 1 |
Mix 2 |
Mix 3 |
Vert |
|
---|---|---|---|---|---|
Rouge |
1.0 |
0.75 |
0.5 |
0.25 |
0.0 |
Vert |
0.0 |
0.25 |
0.5 |
0.75 |
1.0 |
Bleu |
0.0 |
0.0 |
0.0 |
0.0 |
0.0 |
Mais, pour se donner une idée du rendu de ces couleurs sur l'écran, nous prenons tout d'abord, les valeurs individuelles grâce au TRC de l'espace colorimétrique, actuellement utilisé :
Ensuite, les valeurs sont renseignées dans l'emplacement correspondant. Comparez celles-ci aux valeurs de la table de mélange ci-dessus :
Et ceci explique pourquoi les mélanges de couleurs sont plus clairs et plus doux avec un espace linéaire. L'espace linéaire est physiquement plus correct mais sRGB est plus efficace en terme d'espace. Ainsi, pourquoi de nombreuses images ont elles des TRC sRGB, encodées à leurs intérieurs ? Au cas où, ceci n'a aucun sens : sRGB fournit des *valeurs *grandement * **plus sombres* que dans un espace linéaire avec les mêmes coordonnées*.
Ainsi, les différentes TRC fournissent différents mélanges entre les couleurs. Dans l'exemple suivant, chaque ensemble de dégradés est, dans l'ordre, un mélange utilisant un TRC linéaire, un mélange utilisant un TRC sRGB et un mélange utilisant « Lab L* ».
Ainsi, vous pourriez demander comment vous pouvez activer cette option ? Est-elle quelque part dans les paramètres ? La réponse est qu'il y a plusieurs profils « ICC » pouvant être utilisés pour ce type de réalisation :
scRGB (linéaire)
Tous les « elle »-profils se terminant par « g10 », comme « sRGB-elle-v2-g10.icc ».
En réalité, dans tous les profils « elle », le dernier chiffre indique la valeur du gamma. 1.0 est linéaire, le plus haut est un gamma corrigé et « » est une correction avec un gamma spécial pour le profil original sRGB.
Si vous avez un navigateur d'espace colorimétrique, vous pouvez demander le TRC à partir d'un « gamma estimé » (Linéaire avec la valeur 1.0) ou à partir du composant graphique de TRC dans Krita 3.0, présentant exactement la même apparence que les graphiques en courbes ci-dessus.
Même si vous ne dessinez pas beaucoup, quelques exemples peuvent être de réaliser des textures pour un jeu vidéo ou pour un rendu. L'utilisation d'un espace linéaire est très bénéfique et donnera plus d'efficacité au moteur de rendu, car il ne devra pas prendre à sa charge, la conversion des images.
L'inconvénient d'un espace linéaire est, bien sûr, que le blanc semble très affaibli lors d'un mélange avec du noir. En fait, dans un espace linéaire, les gris légers prennent plus d'espace. A la fin, bien que l'espace linéaire soit physiquement correct et un avantage pour travailler quand vous avez besoin de rendus physiquement corrects pour les jeux vidéos et pour le lancer de rayons (Ray tracing), Krita est un outil. Personne ne vous en voudra de préférer un mélange sombre avec un TRC.