Gestion de la couleur#

La gestion des couleurs est importante pour créer des rendus et actifs qui sont physiquement corrects et d’un bel effet sur un grand nombre de dispositifs d’affichage. Il est utilisé à la fois pour garantir que toutes les éléments de la pipeline interprètent les couleurs correctement, et pour faire des changements artistiques comme l’exposition et le dégradé de couleurs.

../_images/render_color-management_different-exposures.jpg

Différentes vues et expositions du même rendu.#

La gestion des couleurs de Blender est basée sur la bibliothéque OpenColorIO. En utilisant la même configuration OpenColorIO dans de multiples applications, les mêmes espaces de couleurs et transformations seront disponibles pour des résultats cohérents.

Flux de travail#

Espace colorimétrique linéaire de la scène#

Pour des résultats corrects, différents espaces de couleurs sont nécessaires pour l’affichage du rendu et l’enregistrement des images. Le rendu et le compositing sont mieux réalisés dans l’espace de couleurs linéaire de la scène, qui correspond plus étroitement au monde naturel, et rendent les calculs plus précis sur le plan de la physique.

../_images/render_color-management_linear-workflow.svg

Un exemple de flux de travail linéaire.#

Si les couleurs sont linéaires, cela signifie que si en réalité nous doublons la quantité de photons, les valeurs de couleur sont aussi doublées. Autrement dit, si nous avons deux photos/rendus, chacune avec une des deux lumières, et ajoutons ces images ensemble, le résultat serait le même qu’un rendu/photo avec les deux lumières ensemble. Il s’ensuit qu’un tel espace radiométriquement linéaire est meilleur pour le rendu photoréaliste et le compositing.

Cependant, ces valeurs ne correspondent pas directement à la perception humaine ou la manière dont fonctionnent les dispositifs d’affichage, et les fichiers d’image sont souvent enregistrés dans différents espaces de couleurs, aussi nous devons prendre soin de faire la bonne conversion vers et depuis cet espace de couleurs linéaire.

Afficher les transformations#

Transformer les couleurs linéaires de la scène pour les afficher implique des choix à la fois techniques et artistiques.

L’affichage correct de rendus requiert une conversion vers l’espace de couleur du dispositif d’affichage. Un moniteur d’ordinateur fonctionne différemment d’un projecteur de cinéma numérique ou une TV HD, et par conséquent a besoin d’une conversion différente.

Il y a aussi un choix artistique à faire pour les rendus. En partie cela est dû au fait que les dispositifs d’affichage ne peuvent pas afficher le spectre complet de couleurs et ont seulement une luminosité limitée, aussi nous pouvons presser les couleurs pour les faire correspondre au gamut du dispositif. De plus il peut aussi être utile de donner aux rendus un aspect particulier, p. ex. comme s’ils avaient été tirés sur un vrai film de caméra. La transformation Filmic par défaut fait cela.

../_images/render_color-management_linear-display-space.svg

Conversion de l’espace linéaire en l’espace du dispositif d’affichage.#

Espaces colorimétriques des images#

Lors du chargement et de l’enregistrement des formats de media, il est important d’avoir la gestion de couleur à l’esprit. Les formats de fichier tels que PNG ou JPEG vont typiquement enregistrer les couleurs dans un espace de couleurs conçu pour l’affichage, non dans un espace linéaire. Quand ils sont utilisés, par exemple, comme textures dans les rendus, ils doivent d’abord être convertis en linéaire, et lors des enregistrements des rendus pour l’affichage sur le web, ils doivent aussi être convertis dans un espace d’affichage. D’autres formats de fichier comme OpenEXR enregistrent les espaces de couleurs linéaires et en tant que tels sont utiles comme fichiers intermédiaires en production.

Pour des fichiers intermédiaires en production, il esr recommandé d’utiliser des fichiers OpenEXR.Ceux-ci sont toujours enregistrés dans des espaces de couleurs linéaires de scène, sans aucune perte de données. Ce qui les rend adaptés à enregistrer des rendus qui plus tard peuvent être composés, calibrés en couleurs et convertis en différents formats de sortie.

Les images peuvent également contenir des données qui ne sont pas en fait une couleur. Par exemple des normal ou displacement maps contiennent simplement des vecteurs et des décalages. De telles images devraient être marquées comme Non-Color Data afin que aucune conversion d’espace de couleurs leur est appliquée.

Réglages de rendu#

Référence

Éditeur:

Properties

Panneau:

Render Properties ‣ Color Management

../_images/render_color-management_panel.png

Propriétés de Color Management (Gestion des couleurs).#

Ce sont des paramètres de gestion des couleurs qui sont utilisés dans Blender. Ces paramètres de gestion des couleurs sont spécifiques à la scène, de sorte que les paramètres peuvent être personnalisés par scène. La gestion des couleurs peut également être annulée lors de l’enregistrement d’images ; ce comportement peut être défini dans les propriétés de gestion des couleurs de sortie.

Dispositif d’affichage

L’espace colorimétrique de l’écran sur lequel Blender est visualisé.

La plupart des écrans sont sRGB par défaut, certains écrans plus récents ayant la possibilité d’utiliser Rec. 2020. Ces écrans ont une gamme de couleurs plus large et peuvent afficher du contenu à plage dynamique élevée. Si vous possédez un écran Apple, vous souhaiterez probablement utiliser Display P3.

Il est important de vérifier votre système d’exploitation et les paramètres d’affichage pour vous assurer qu’ils correspondent tous à l’écran utilisé afin d’afficher l’image la plus précise possible.

sRGB:

Utilisé par la plupart des écrans.

Display P3:

Utilisé par la plupart des appareils Apple.

Rec. 1886:

Utilisé par de nombreux téléviseurs plus anciens.

Rec. 2020:

Utilisé pour les nouveaux écrans HDR à large gamme.

View Transform

Voici les différentes manières de visionner l’image sur le même dispositif d’affichage.

Standard:

Ne fait aucune conversion hormis la conversion pour le dispositif d’affichage. Souvent utilisé pour des résultats non photoréalistes ou l’édition vidéo où un look spécifique est déja précalculé dans la vidéo d’entrée.

Khronos PBR Neutral:

Une transformation de mappage de tons conçue spécifiquement pour la précision des couleurs PBR, afin d’obtenir des couleurs sRGB dans le rendu de sortie qui correspondent aussi fidèlement que possible à la couleur de base sRGB d’entrée dans les matériaux, sous un éclairage en échelle de gris. C’est destiné aux cas d’utilisation de la photographie de produits, dans lesquels la scène est bien exposée et les valeurs de couleur HDR sont principalement limitées aux petits reflets spéculaires.

AgX:

A tone mapping transform that improves on Filmic, giving more photorealistic results. AgX offers 16.5 stops of dynamic range and unsaturates highly exposed colors to mimic film’s natural response to light.

Filmic:

Une transformation de mappage de tons conçue pour gérer les couleurs à plage dynamique élevée. Filmic est obsolète et remplacé par AgX qui améliore la gestion des couleurs saturées.

Filmic Log:

Convertit en espace de couleurs Filmic log. Ceci peut être utilisé pour des exports vers des apllication de calibration de couleur, ou pour inspecter l’image en mettant à plat les zones très sombres ou très claires.

False Color:

Affiche une carte thermique (heat map) des intensités de l’image, pour visualiser la plage dynamique et aider à exposer correctement une image.

Vous trouverez ci-dessous un tableau qui représente la façon dont les données de couleur linéaires normalisées sont représentées avec False Color.

Valeur de la luminance

Color

Low Clip

Black

0.0001% à 0.05%

Blue

0.05% à 0.5%

Blue-Cyan

0.5% à 5%

Cyan

5% à 16%

Green-Cyan

16% à 22%

Grey

22% à 35%

Green-Yellow

35% à 55%

Jaune

55% à 80%

Orange

80% à 97%

Red

High Clip

White

Raw:

Destiné à l’inspection de l’image mais pas à l’exportation finale. Raw rend l’image sans aucune conversion d’espace de couleurs.

Look

Choisir un effet artistique parmi la collection de données de réaction du film pondérées qui émule grossièrement l’apparence de certains types de film. Appliqué avant la conversion de l’espace de couleurs.

Exposure

Utilisé pour contrôler la luminosité de l’image (dans les arrêts) appliquée avant la conversion de l’espace de couleurs. Il est calculé comme suit : \(output\_value = render\_value × 2^{(exposure)}\)

Gamma

Correction gamma supplémentaire appliquée après la conversion d’espace de couleurs. Notez que les transformations d’affichage par défaut effectuent la conversion appropriée, ainsi ceci agit principalement comme un effet supplémentaire pour des fignolages artistiques.

Sequencer

L’espace de couleurs dans lequel le Sequencer opère. Par défaut le Sequencer opère dans l’espace RVB, mais il peut aussi être défini pour fonctionner dans l’espace Linear comme les Compositing nodes, ou un autre espace de couleurs. Différents espaces de couleurs vont donner des résultats différents pour la correction de couleur, les fondus enchaînés (cross fades) et autres opérations.

La liste des espaces colorimétriques dépend de la OCIO config active. Les espaces colorimétriques pris en charge par défaut sont décrits en détail ici : Default OpenColorIO Configuration

Affichage#

High Dynamic Range

Active l’affichage d’une plage dynamique élevée dans la fenêtre de rendu, en déplafonnant la luminosité de l’écran. Cela nécessite un moniteur prenant en charge le HDR et une transformation de vue conçue pour le HDR (Filmic ne génère pas de couleurs HDR).

Cette fonctionnalité n’est actuellement prise en charge que sur macOS.

Utilisation de courbes#

Ajuster les courbes RVB pour contrôler les couleurs d’image avant la conversion de l’espace de couleurs. En savoir plus sur l’utilisation de Gestionnaire de Courbe (Curve Widget).

Fichiers image#

Dans le travail avec des fichiers d’image, l’espace de couleurs par défaut est habituellement le bon. Si ce n’est pas le cas, l’espace de couleurs du fichier image peut être configuré dans les réglages d’image. Une situation fréquente où les modifications manuelles sont nécessaires est, par exemple, le travail ou le précalcul de normal maps ou de displacement maps. De tels maps n’enregistrent pas en fait les couleurs, simplement des données encodées en couleurs. Dans de tels cas ils devraient être marqués comme Non-Color Data.

Les blocs de données d’image enregistreront toujours les tampons de flottants en mémoire dans l’espace de couleurs linéaire de la scène, alors que le tampon d’octets en mémoire et les fichiers sur disque sont enregistrés dans l'espace de couleur spécifié par ce paramètre.

Par défaut, seuls les rendus sont affichés et enregistrés avec View Transformation de rendu appliquées. Celles-ci sont les data-blocks “Render Result” et “Viewer image” et les fichiers enregistrés directement sur disque avec l’opérateur Render Animation. Cependant, lors du chargement d’un rendu enregistré dans un fichier OpenEXR intermédiaire, Blender ne peut pas détecter automatiquement que c’est un rendu (ce pourrait être p. ex. une texture d’image ou une carte de déplacement). Nous devons spécifier que c’est un rendu et que nous voulons appliquer les transformations, avec ces deux réglages :

View as Render

Affiche le data-block image (pas seulement les rendus) avec view transform, exposure, gamma, RGB curves appliqués. Utile pour visionner les trames rendues dans les fichiers OpenEXR linéaires de la même manière que lors de leur rendu direct.

Save as Render

Option pour appliquer les view transform, exposure, gamma, RGB curves. C’est utile pour enregistrer des fichiers OpenEXR linéaires en p. ex. fichiers PNG or JPEG dans l’espace d’affichage.

Configuration d’OpenColorIO#

Blender est fourni avec une configuration OpenColorIO standard qui comprend un grand nombre de dispositifs d’affichage et de transformations de vue utiles. L’espace de couleurs ( Color Space) linéaire de référence est celui avec les chromaticités Rec. 709 et le point blanc D65.

Cependant, OpenColorIO a été aussi conçu pour donner une expérience utilisateur cohérente à travers des applications multiples et pour cela, un simple fichier de configuration partagé peut être utilisé. Blender utilisera la variable d’environnement OCIO standard pour lire une configuration OpenColorIO autre que celle de Blender par défaut. Plus d’informations sur la manière d’établir un tel flux de travail se trouve sur le site web OpenColorIO.

Blender utilise actuellement les règles d’espace colorimétrique suivantes :

scene_linear

Espace de couleurs utilisé pour le rendu, le compositing, et l’enregistrement de toutes les images en précision float en mémoire.

data

Espace de couleurs pour des données ne concernant pas les couleurs.

aces_interchange

Espace colorimétrique ACES2065-1. Utilisé pour dériver les chromaticités de l’espace colorimétrique scene_linear, pour des effets tels que l’émission du “corps noir”.

color_picking

Définit la répartition des couleurs dans les sélecteurs de couleurs. C’est censé être approximativement perceptiblement linéaire, avoir le même gamut que l’espace de couleur scene_linear et faire correspondre les valeurs 0..1 à des valeurs 0..1 dans l’espace couleur linéaire de la scène pour une édition prévisible des albédos des matériaux.

default_sequencer

Espace de couleurs par défaut pour le Séquenceur, scene_linear si non spécifié.

default_byte

Espace de couleurs par défaut pour les images et les fichiers en précision byte, texture_paint si non spécifié.

default_float

Espace de couleurs par défaut pour les images et les fichiers en précision float, scene_linear si non spécifié.

La configuration standard de Blender comprend la prise en charge de la sauvegarde et du chargement d’images dans les espaces de couleurs ACES (code et documentation). Cependant, le gamut d’ACES est plus grande que le gamut de Rec. 709, aussi pour obtenir les meilleurs résultats, une configuration ACES spécifique devrait être utilisée. OpenColorIO fournit un fichier de configuration ACES, bien qu’il ait besoin de quelques ajustements supplémentaires pour être utilisable en production.

Configuration OpenColorIO par défaut#

Color Spaces

Le fichier de configuration OCIO de Blender est équipé par défaut pour lire/écrire des fichiers dans ces espaces colorimétriques :

sRGB:

Espace d’affichage RVB standard utilisant Rec. 709 chromaticités et un point blanc D65.

Rec.2020:

BT.2020 2.4 Exponent EOTF Display.

Rec.1886:

BT.1886 2.4 Affichage EOTF exposant, couramment utilisé pour les téléviseurs.

Non-Color:

Les données génériques qui ne sont pas des couleurs n’appliqueront aucune transformation de couleur (par exemple, les cartes normales).

Linear Rec.709:

Chromaticités linéaires BT.709 avec point blanc illuminant D65.

Linear Rec.2020:

Linéaire BT.2020 avec illuminant D65 point blanc.

Linear FilmLight E-Gamut:

E-Gamut linéaire avec point blanc illuminant D65.

Linear DCI-P3 D65:

Linéaire DCI-P3 avec point blanc illuminant D65.

Linear CIE-XYZ E:

Norme CIE XYZ 1931 avec point blanc supposé illuminant E.

Linear CIE-XYZ D65:

1931 CIE XYZ avec illuminant adapté D65 point blanc.

Filmic sRGB:

Similaire à sRGB mais utilise la transformation de vue Filmic.

Filmic Log:

Espace colorimétrique du log intermédiaire de la transformation de la vue filmique (Filmic).

Display P3:

Display P3 d’Apple avec fonction de transfert d’encodage composé sRGB (par morceaux), courante sur les appareils Mac.

ACEScg:

Un espace colorimétrique ACES conçu pour être utilisé pour le rendu et la composition. Il utilise les couleurs primaires AP1, un point blanc D60 et une fonction de transfert linéaire. Bien que similaire à ACES2065-1, cet espace colorimétrique a une gamme de couleurs plus petite. La gamme plus petite lui permet de mieux représenter les couleurs qui correspondent à l’intérieur du diagramme de chromaticités CIE 1931. Les couleurs qui se trouvent en dehors des chromaticités CIE 1931 ne sont généralement pas importantes pour le rendu et la composition car le stimulus humain ne peut pas représenter ces couleurs.

ACES2065-1:

Un espace colorimétrique ACES utilisant les couleurs primaires AP0, un point blanc D60 et une fonction de transfert linéaire. Cet espace colorimétrique est destiné à stocker et à transférer des données avec le plus possible d’informations de couleur.