Pourquoi les cartes normales ne sont-elles pas bleues? Je pense que les cartes normales devraient être principalement de couleur bleue car la composante Z de la normale est représentée par le bleu. Les normales pointent hors de la surface dans la direction Z, nous devrions donc voir le bleu comme couleur prédominante puisque la composante Z est dominante.
Par définition, l'espace tangent est perpendiculaire à la surface. À tout moment, la normale devrait toujours pointer dans le Z (direction bleue) sans X (direction rouge) ou Y (direction verte). Ainsi, la carte normale (car il s'agit d'une "carte normale") devrait avoir la couleur des normales qui est juste bleue (R = x = 0, G = y = 0, B = z = 1) sans nuances entre les deux.
Mais les cartes normales ne le sont pas, et elles contiennent des dégradés de nuances. Pourquoi cela est-il ainsi?
la source
La réponse simple est que c'est à cause du biais de gamme.
Les normales ont une plage de -1,0 à 1,0 pour chaque composant (x, y, z). La carte normale, stockée sous forme d'image RVB 24 bits, d'autre part, a une plage de 0 à 255 pour chaque composant.
Cela signifie que tous les composants qui étaient nuls deviennent 127,5 (le milieu exact) dans la carte normale (qui arrondit à 128).
Le vecteur normal (0,0,1) devient (128,128,255) dans l'image normale de la carte, qui est une couleur violacée, plutôt que du bleu pur (0,0,255).
la source