J'essaie donc de faire le tour de cette question d'un point de vue assez technique.
Lorsque vous ajoutez une texture Relief, Normal ou Déplacement dans votre shader, elles ne doivent pas être corrigées gamma. Mais les textures diffuses devraient l'être. Mais pourquoi?
Lorsque vous enregistrez un fichier en 8 bits (ou 16 bits en entier) avec un format comme JPEG, PNG ou TIFF, ils obtiennent le gamma de 0,4545 (1 / 2,2) gravé. Ainsi, une caméra capture la lumière du monde réel (qui est linéaire) et lors de l'enregistrement de la photo au format JPEG, une valeur gamma de 1 / 2,2 est ajoutée, afin de compresser les informations en 8 bits, puis lorsque vous affichez l'image sur un moniteur qui ajoute un gamma de 2,2 rendant la luminance linéaire à nouveau.
Donc, lorsque vous utilisez des textures diffuses (comme une photo), vous devez "supprimer" ce gamma 1 / 2.2 pour le rendre linéaire (appelé linéarisation) alors maintenant la texture semble plus sombre, mais ces valeurs sont correctes d'un point de vue mathématique afin que le rendu faire les bons calculs. Remarque: le logiciel a utilisé un gamma d'affichage de 2,2 pour s'assurer que les textures semblent correctes, c'est juste pour le calcul interne qu'elles sont linéarisées. Mais quand je crée une carte Bump dans Photoshop et que je l'enregistre en JPG ou PNG, ce gamma 1 / 2.2 est également gravé dans cette image, alors pourquoi cette carte Bump n'a-t-elle pas besoin d'être également linéarisée?
Si je charge une mappe de relief dans 3ds Max avec un gamma d'entrée de 2,2 tout comme le ferait une texture diffuse, le diffus semble correct mais le relief semble incorrect, donc je dois définir le gamma d'entrée à 1,0 pour le relief dans l'ordre pour le faire bien paraître, mais comme je l'ai dit: pourquoi, les deux fichiers image ont le gamma 1 / 2.2 gravé, non?
JPG, PNG ou tout autre format d'image 8 bits ne sont pas intrinsèquement associés à un gamma 1 / 2,2. Ils stockent juste des valeurs de 0 à 255. L'interprétation de ces données dépend du logiciel qui lit et écrit ces fichiers. Le fait intéressant est que la plupart des logiciels d'édition d'images utilisent par défaut l'espace colorimétrique gamma. Tous les pinceaux, effets, filtres et même le sélecteur de couleurs fonctionnent tous dans l'espace gamma. Regardez simplement les nuances de gris sur le sélecteur de couleurs dans Photoshop. Ils ne suivent pas une distribution linéaire.
La conséquence est que Photoshop n'effectue aucune conversion entre gamma et espace colorimétrique linéaire lors de l'ouverture ou de l'enregistrement d'une image (par défaut), uniquement lors de son affichage. Cela signifie que vous pouvez tout aussi facilement l'utiliser pour créer ou modifier des données linéaires telles qu'une carte de hauteur que vous pouvez modifier des photos. La carte de relief ne s'affiche pas correctement lorsqu'elle est chargée avec une correction gamma, car elle n'a pas été enregistrée avec.
la source
introduction
Cela dépend de la façon dont vous créez la carte! Considérez ce qui suit et laissez-le pénétrer pendant un certain temps avant de continuer:
Maintenant, une carte de relief est assez difficile à dessiner avec une application de peinture. Parce que c'est difficile à voir même si vous étiez correctement linéaire. Donc vous finissez par utiliser des choses comme regarder des valeurs. Maintenant, voici le hic:
Faire la carte de relief / déplacement
D'accord, j'ai maintenant décrit que les données sont à interpréter. Mais pourquoi interpréteriez-vous les données comme linéaires? Parce qu'alors vous pouvez mieux concevoir votre profil latéral. Voyez ce que vous pouvez faire est de penser à l'opacité de 100% de votre pinceau comme la hauteur cible que vous souhaitez sculpter ou superposer. Vous pouvez ensuite utiliser l'outil courbes pour concevoir la forme de votre pinceau de tampons (car vous pensez que les données sont linéaires).
Image 1 : Un timbre à ventouse.
Maintenant, si vous faites quelque chose comme ça, votre image est linéaire malgré ce que tout le monde vous dit. Vous avez décidé de supprimer les règles d'image qui disent le contraire. Et c'est pourquoi l'image est linéaire , l'auteur choisit qu'elle soit linéaire pour qu'elle soit plus facile à travailler.
Image 2 : même image déplacée et interprétée de façon linéaire (notez que j'ai redimensionné un peu la hauteur pour l'adapter à ma taille de bb par défaut), fonctionnant comme prévu.
Techniquement linéaire, c'est mieux.
Une carte synthétique n'a aucun avantage à compresser certaines valeurs au détriment d'autres. Linéaire est intrinsèquement meilleur parce que la propagation de votre bosse est meilleure de cette façon. C'est pourquoi vous gaspillez des ressources en l'encodant d'une manière corrigée gamma.
Deuxièmement, une image n'a pas besoin de spécifier dans quel espace colorimétrique elle se trouve. Il suffit que les éditeurs d'image supposent qu'elle est codée sRGB. Vous n'avez aucune raison de faire la même interprétation, aucune info ne signifie simplement: "Personne n'a pris la peine d'écrire ce qu'ils pensaient". Alors peut-être que le point devrait être fait, vous devriez le marquer de façon linéaire. Mais voici le hic ... votre ordinateur n'est pas livré avec un profil linéaire facilement accessible.
Qu'en est-il de Photoshop et du flou?
C'est là que ça devient délicat. Photoshop essaie de faire beaucoup de travail pour s'assurer que vous n'avez pas besoin de savoir quoi que ce soit à ce sujet. Et c'est là que vous vous tirez une balle dans le pied. Photoshop n'est pas destiné à la création de texture, il est destiné à éditer des images et non des données aléatoires. Donc, comme le flou sur une image est différent de linéaire et non linéaire, il ne fonctionnera pas avec des données erronées.
Mais vous pouvez faire l'une des 2 choses pour résoudre ce problème:
Conclusion
La raison pour laquelle vous avez du mal avec cela est
Le premier point est particulièrement déroutant. Je sais juste que TOUTES mes cartes de relief et de déplacement sont en fait linéaires. Mais je ne peux pas savoir quelles sont vos cartes. Les chances sont qu'ils sont linéaires car il est presque universellement compris que les données sont linéaires. Même les gens qui ne connaissent pas le gamma ont tendance à le faire de manière linéaire pour les chocs / déplacements pour une raison quelconque (parce que c'est facile et c'est ce que vous pensez que les images sont jusqu'à ce que quelqu'un vous dise le contraire).
la source
Even people who do not know about gamma tend to do it linear for bump/displacement for some reason
Probablement parce que ces cartes sont générées.En fait, si votre carte de relief ou de déplacement est enregistrée avec cette correction gamma de 0,45, c'est faux. Ces cartes contiennent des informations géométriques plutôt que des couleurs, et en tant que telles, doivent être simplement encodées de façon linéaire.
Pour un problème connexe et un correctif pour Adobe Photoshop, consultez ce diaporama: https://docs.google.com/presentation/d/1vS5nAAnXbZ8Pt6-dXxy-xEXDkjfjXTmNnthNGccorl0/edit#slide=id.g14b3e28660_0_8
la source