Les flux de travail linéaires sont une approche de l’ombrage, de l’éclairage et du rendu qui offre de nombreux avantages par rapport à l’utilisation directe de valeurs vidéo non linéaires telles que sRVB. La gestion des couleurs permet un flux de travail linéaire en convertissant correctement les couleurs entre les différents espaces colorimétriques utilisés pour l’entrée, le rendu, l’affichage et la sortie.
Les espaces colorimétriques définissent une couleur de manière non ambiguë en incluant les composants principaux, ainsi que les points blancs, le codage et d’autres attributs. Par exemple, les valeurs principales rouge, vert et bleu utilisées pour une image sRVB sur une page Web sont différentes de celles utilisées par un projecteur de cinéma numérique P3, et les conditions d’éclairage environnantes pour l’affichage Web et le cinéma sont également différentes. Néanmoins, il est possible de convertir avec précision les couleurs à afficher sur un moniteur standard ou un projecteur, car les espaces colorimétriques sRVB et DCI-P3 sont bien caractérisés. Toutefois, pour interpréter correctement un triplet RVB (0,5, 0,25, 0,25), vous devez connaître l’espace colorimétrique prévu.
Les rendus modernes imitent le fonctionnement de la transmission, de l’absorption, de la réflexion et de la réfraction de la lumière dans le monde réel. Les lumières d’une scène 3D doivent donc correspondre avec précision à l’éclairage réel, que ce soit en extérieur ou en studio : les valeurs de couleur sont directement proportionnelles à la quantité d’énergie lumineuse (on utilise le terme « espace de travail linéaire référencé par la scène » ou « linéaire de scène » dans sa forme abrégée). Dans un tel espace colorimétrique, il n’y a pas de luminosité maximale : (1, 1, 1) est la couleur considérée comme « blanche » par un observateur type qui s’est entièrement habitué à l’éclairage, mais les sources lumineuses et les réflexions spéculaires peuvent être beaucoup plus lumineuses.
Toutefois, les appareils d’affichage ont une luminosité maximale qui est également indiquée par (1, 1, 1) ou (255, 255, 255) lorsqu’elle est exprimée sous la forme d’un entier 8 bits. Même sur un appareil à plage dynamique élevée, la valeur la plus élevée n’est pas aussi brillante que dans le monde réel. Il est donc nécessaire de mapper les valeurs à plage dynamique élevée de la scène sur un intervalle plus limité pour l’affichage. Il suffit de réduire les valeurs de couleur pour les adapter à la plage d’affichage afin d’obtenir une mauvaise image d’aspect peu net. Une texture de teintes avec une réponse photographique doit être utilisée.
Outre une plage dynamique élevée, il est souvent préférable d’utiliser un espace colorimétrique avec une large gamme pour le rendu. Cela permet de représenter plus de couleurs, ce qui est particulièrement important lors de la création de contenu pour le cinéma numérique et les formats HDR TV, qui ont des gammes plus larges que sRVB et HDTV (Rec. 709).
Pour les images utilisées comme entrées pour les textures, une transformation peut être nécessaire pour effectuer la conversion à partir de l’espace colorimétrique dans lequel les images ont été enregistrées dans l’espace de rendu.
Pendant que vous travaillez, les couleurs de l’espace de rendu doivent être converties pour obtenir un aperçu utile. En principe, vous souhaitez obtenir un aperçu précis de l’image finale, mais il est parfois nécessaire d’utiliser une autre vue à des fins de diagnostic.
Pour le rendu final, vous pouvez appliquer une transformation de sortie en fonction de l’utilisation prévue des fichiers.
La méthode de traitement appropriée d’une image d’entrée telle qu’une texture dépend de la façon dont l’image est utilisée dans la scène. Elle dépend également de l’image elle-même, notamment de son espace colorimétrique actuel, de son codage et de son état (si ses valeurs de couleur sont proportionnelles aux valeurs de luminance référencées par la scène ou aux valeurs de luminance référencées par l’affichage).
Aucune transformation ne doit être appliquée aux images utilisées pour des données non liées aux couleurs. Cela inclut les textures en relief, normales et de déplacement, ainsi que les textures utilisées pour d’autres attributs tels que la translucidité, la spécularité, la réflectivité, etc.
La première étape consiste à convertir les valeurs référencées par la scène en espace référencé par l’affichage. Par exemple, pour convertir les couleurs d’une plage dynamique élevée en plage [0, 0], une texture de teintes peut être nécessaire, ainsi qu’un changement de primaires.
La seconde étape consiste à convertir les valeurs d’un affichage spécifique. Cela peut impliquer un autre changement de primaires, le gamma approprié et le codage comme valeurs entières appropriées.
Les images sont généralement visualisées dans des conditions d’éclairage plus sombres qu’une scène en extérieur ou qu’un décor de film très éclairé. Les textures de teintes sont donc utilisées pour compresser des valeurs à plage dynamique élevée dans la plage d’affichage avec une réponse photographique qui produit une image satisfaisante. Les textures de teintes appliquent généralement une courbe en S qui augmente le contraste et la saturation pour compenser la plage dynamique plus faibles et les conditions d’affichage plus sombres. Cette courbe associe également une valeur de 1 dans l’espace de rendu à une valeur inférieure afin de laisser de la place dans l’espace d’affichage pour des reflets plus lumineux.
L’application d’un gamma ne suffit pas à préparer entièrement une image linéaire de scène pour l’affichage. Sans texture de teintes, les valeurs de couleur supérieures à 1 restent supérieures à 1 et sont délimitées par le moniteur.