Export de 3ds Max V-Ray en espace sRGB: gestion des espaces colorimétriques et du flux linéaire

Cette guide initiale visait à aider les utilisateurs de Corona à comprendre ce que fait la case sRGB dans le Corona Color Picker (ou le menu « Spaces » dans les versions plus récentes). Cependant, en avançant, il est devenu clair qu’il y avait bien plus à expliquer: pourquoi les mêmes valeurs peuvent représenter des couleurs différentes, et des informations générales sur les espaces colorimétriques et la gestion des couleurs.

Il existe différents espaces colorimétriques et des raisons techniques pour lesquelles il faut parfois utiliser des espaces linéaires pour le rendu. En 3ds Max, jusqu’à une date récente, la gestion des espaces colorimétriques n’était pas pleinement présente, ce qui complexifie la correspondance entre textures, couleurs et rendu. Les questions fréquentes portent sur l’écart entre la couleur perçue et la couleur codée, et sur la manière dont les textures et les maps interagissent avec les valeurs colorimétriques lors du calcul de l’éclairage.

Pourquoi des valeurs identiques peuvent représenter des couleurs différentes

Q1: Pourquoi le gris 127 peut être plus sombre ou plus clair selon le contexte? A1: Parce qu’il existe différents espaces colorimétriques. Des termes comme « red 240 120 50 » peuvent signifier des couleurs réelles différentes dans ces espaces - Adobe RGB, Wide RGB, XYZ, CIERGB, sRGB, etc. Le pointeur commun est que l’espace sRGB est largement adopté et souvent défini comme espace par défaut pour les graphismes web.

Q2: Pourquoi ne pas utiliser systématiquement l’espace sRGB? A2: Parce que l’espace sRGB est « étroit » et ne peut exprimer qu’un sous-ensemble de couleurs, sans valeurs négatives. Il est aussi non linéaire - il intègre une courbe gamma - ce qui empêche d’additionner directement deux couleurs sRGB dans le rendu pour obtenir un résultat correct. Un espace linéaire est nécessaire pour cela, d’où le concept de « flux linéaire ».

Q3: Pourquoi introduire la gamma? A3: Parce que la vision humaine est fortement non linéaire - environ logarithmique. En appliquant une gamma, l’espace sRGB devient approximativement perceptuellement uniforme: ajouter 1 à une couleur sombre ou claire produit des augmentations de luminosité similaires. Le gradient linéaire dans l’espace linéaire se traduit par une progression linéaire, ce qui n’est pas le cas en sRGB affiché. Dans les années 90, le rendu nécessitait des espaces linéaires et les conversions entre espaces étaient coûteuses en calcul et en mémoire, d’où la création d’un sRGB 8 bits avec gamma pour les graphiques 2D.

Problèmes spécifiques à 3ds Max et à la gestion des espaces colorimétriques

Q4: Pourquoi c’est un problème dans 3ds Max? A4: 3ds Max n’était pas color managed (jusqu’à la version 2024) et ne possède pas de notion explicite des espaces, utilisant uniquement « RGB ». Cela signifie que le même nombre peut représenter des couleurs différentes et que les moteurs de rendu ne peuvent pas simplement utiliser sRGB. Les maps comme la couleur diffuse nécessitent des données linéaires pour un flux linéaire, tandis que les maps normales, bump et displacement bénéficient des données sRGB pour préserver l’intention de l’artiste lorsqu’elles ont été créées dans des flux de travail « Photoshop → sRGB ». 3ds Max ne permet pas de spécifier l’espace d’entrée ou de sortie des textures, ce qui pousse l’utilisateur à vérifier manuellement.

Q5: Pourquoi les textures nécessitent-elles des espaces différents? A5: Prenons des exemples simples: la couleur diffuse est une réflexion de surface capturée (sans réflexions). Le rendu multiplie la couleur diffuse par la radiance incidente pour produire la radiance renvoyée; cette multiplication doit être effectuée dans un espace linéaire, sinon les résultats sont incorrects. Une photo de bois/gravier/feuille a été enregistrée en jpeg avec une courbe gamma. Une normale générée sous Photoshop n’est pas directement mesurable en photographie et nécessite un traitement spécifique pour ne pas déformer les normales. Une displacement map doit être interprétée linéairement pour que la pente soit exacte. En clair, les textures fonctionnent comme des boîtes noires dans 3ds Max jusqu’à 2024, et il n’est pas possible de déterminer de manière fiable quel espace chaque texture doit utiliser lorsqu’elle est instanciée dans différents slots.

Gestion des outils de couleur et du color picker

Q6: Pourquoi ce problème apparaît-il aussi dans les color pickers? A6: Car les color pickers fonctionnent comme des textures 1×1 et il faut spécifier leur espace colorimétrique de la même manière que pour les textures.

Q7: Comment fonctionne le color picker de 3ds Max? A7: Lorsque le gamma est correctement configuré, le color picker montre des valeurs sRGB linéaires sans gamma, affiche une graduation linéaire en espace linéaire, mais montre des couleurs mappées sRGB sur l’écran.

Q8: Quel est le problème avec cela? A8: Le dégradé dans les curseurs progresse de manière uniforme en espace linéaire, mais progresse de manière non uniforme dans l’espace sRGB affiché, ce qui rend les noirs très peu représentés et fait apparaître des couleurs inexactes lorsque l’on entre directement des valeurs issues de Photoshop. Par exemple RGB 176 39 50 dans Photoshop peut être interprété différemment dans 3ds Max si le picker n’est pas aligné sur l’espace sRGB.

Q9: Comment fonctionne le Corona Color Picker? A9: Avec la case sRGB désactivée (ou « Spaces » en versions récentes), le picker se comporte comme celui de 3ds Max, sauf que les curseurs et l’échelle sont rendus perceptuellement uniformes, ce qui permet de copier des couleurs depuis Photoshop ou le Web et d’obtenir des résultats cohérents lorsque les valeurs sont utilisées dans Corona.

Q10: Quelle configuration est recommandée pour le choix des espaces? A10: Il n’y a pas de « solution correcte » unique. Le choix visuel des couleurs reste le même dans les deux cas, mais les valeurs numériques diffèrent. Utilisez la case sRGB pour une cohérence avec Photoshop ou le Web et désactivez-la pour une cohérence avec 3ds Max. Si vous travaillez avec Corona, laissez la case sRGB désactivée (« Spaces: Linear » dans les versions récentes). Si les valeurs ne correspondent pas après copie depuis Photoshop, activez d’abord sRGB (« Spaces: sRGB ») puis recopie. Trois qualités des curseurs: a) progression uniforme en sRGB ou en RGB linéaire? En Corona, c’est en sRGB. b) les valeurs affichées sont-elles en sRGB ou en RGB linéaire? Dans Max, c’est toujours linéaire. En Corona, cela dépend de la case sRGB (« Spaces »). Ainsi, 3ds Max fait progresser le curseur en RGB linéaire mais l’affiche en sRGB, ce qui explique sa non-uniformité perceptuelle.

Applications pratiques, décisions et flux de travail

Pour obtenir des résultats prévisibles lors de l’export de scènes 3ds Max vers V-Ray en espace sRGB, il faut comprendre que:

  • Les valeurs utilisées en texture doivent être interprétées dans un espace linéaire pour les maps de diffuse, et en sRGB pour les maps comme les normales ou les displacement lorsque cela convient au flux de travail graphique;
  • Le color picker peut nécessiter une activation ou désactivation de l’espace sRGB selon que l’on référence des couleurs issues de Photoshop, du Web ou d’autres sources;
  • Le choix entre spaces « Linear » et « sRGB » influence principalement les valeurs numériques et la correspondance couleur sans changer la perception visuelle lors du travail manuel, mais peut affecter l’exactitude des rendu lors de recettes de textures et d’éclairages;
  • Dans le cadre d’un export V-Ray, privilégier une approche cohérente sur l’ensemble du pipeline: texture diffuse en linéaire, maps de normales et displacement gérées avec les conversions appropriées et les textures stockées en sRGB lorsqu’elles représentent des données non linéaires.

Tableau: exemples d’espaces et d’impacts

AspectDiffuse (couleur)NormaleDisplacement
EspaceLinéraire pour calcul GISRGB pour respect de l’intentionLinéraire pour précision de hauteur
SourceTexture couleur en ligneTexture normale générée ou photographiéeGradient enregistré et interprété linéairement
diagramme flux couleurs linear vs sRGB

En pratique, il faut tester et ajuster les valeurs lorsque l’on alterne entre Photoshop, 3ds Max et Corona/V-Ray, en gardant à l’esprit que les valeurs affichées et les valeurs utilisées par les moteurs peuvent ne pas coïncider sans une conversion explicite.

Comment choisir entre le sRGB et l'Adobe RVB 98 ? Comment choisir son espace couleur ?

En conclusion partielle, le choix des espaces colorimétriques et la gestion du gamma influencent la reproductibilité et la fidélité des rendus. Pour une exportation efficace de 3ds Max vers V-Ray en espace sRGB, il est crucial d’appliquer une gestion cohérente du flux linéaire, d’utiliser les bons espaces pour chaque type de texture et d’être prêt à ajuster le color picker selon les sources externes et les besoins du rendu final.

tags: #3ds #max #vray #export #in #srgb