Gestion de 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.

Workflow

Scene Linear Color Space

For correct results, different Color Spaces are needed for rendering, display and storage of images. Rendering and compositing is best done in scene linear color space, which corresponds more closely to nature, and makes computations more physically accurate.

../_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.

Display Transforms

Transforming scene linear colors to display involves both technical and artistic choices.

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 à la gamme 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.

Image Color Spaces

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

Référence

Panneau

Properties ‣ Render ‣ Color Management

../_images/render_color-management_panel.png

Réglages de rendu pour la gestion des couleurs.

Affichage

Dispositif d’affichage

Le dispositif sur lequel l’image est visionnée.

La plupart des moniteurs d’ordinateur sont configurés pour l’espace de couleurs sRVB, et ainsi pendant le travail sur ordinateur cette option devrait être laissée à sa valeur par défaut. Elle devrait être modifiée typiquement pendant le visionnage de l’image sur un autre dispositif d’affichage connecté à l’ordinateur, ou pendant l’écriture des fichiers d’image destinés à être visionnés sur un autre dispositif.

Rec709 est couramment utilisé pour les TV HD, tandis que XYZ et DCI-P3 sont habituels pour les projecteurs numériques.

La gestion de couleur peut être désactivée en réglant le dispositif à None.

Rendu

View

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.

Filmic

Pour des résultats plus photoréalistes et une meilleure gestion de couleurs de haute gamme dynamique. Le contraste peut être ajusté en changeant l’option Look pour la transformation Filmic view.

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.

Raw

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

False Color

Affiche une heat map d’intensités d’image pour visualiser la plage dynamique.

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.

Look

Choose an artistic effect from a set of measured film response data which roughly emulates the look of certain film types. Applied before color space conversion.

Use Curves

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

Sequencer

Color Space

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 cross fades et autres opérations.

Fichiers image

When working with image files, the default color space is usually the right one. If this is not the case, the color space of the image file can be configured in the image settings. A common situation where manual changes are needed is when working with or baking normal maps or displacement maps, for example. Such maps do not actually store colors, just data encoded as colors. Those images should be marked as Non-Color Data.

Les blocs de données d’image enregistreront toujours des 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 couleurs spécifié par ce paramètre :

Color Space

The color space of the image file on a drive. This depends on the file format, for example, PNG or JPEG images are often stored in sRGB, while OpenEXR images are stored in a linear color space. Some images such as normal, bump or stencil maps do not strictly contain “colors”, and on such values, no color space conversion should ever be applied. For such images, the color space should be set to Non-Color.

Par défaut, seuls les rendus sont affichés et enregistrés avec les transformations de vue 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 du rendu enregistré dans un fichier intermédiaire OpenEXR, Blender ne peut pas détecter automatiquement que c’est un rendu (ce pourrait être p. ex. une texture d’image ou un displacement map) . 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 comes with a standard OpenColorIO configuration that contains a number of useful display devices and view transforms. The reference linear Color Space used is the linear color space with Rec. 709 chromaticities and D65 white point.

Cependant, OpenColorIO a été aussi conçu pour donner une expérience utilisateur cohérente à travers les 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.

Nous utilisons actuellement les principes des espaces de couleurs 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.

XYZ

Standard linear XYZ color space. Used for effects such as blackbody emission to convert from physical units to the scene_linear color space.

color_picking

Defines the distribution of colors in color pickers. It is expected to be approximately perceptually linear, have the same gamut as the scene_linear color space, map 0..1 values to 0..1 values in the scene linear color space for predictable editing of material albedos.

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, la gamme d’ACES est plus grande que la gamme 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.