J'essaie de saisir le concept de mappage normal, mais je suis confus par plusieurs choses. En bref, je ne sais pas si une carte normale dépend du point de vue ou non (c'est-à-dire si vous obtiendrez une carte normale différente du même objet lorsque vous la tournerez). Deuxièmement, je ne comprends pas pourquoi la couleur bleuâtre est la couleur prédominante dans les cartes normales.
Voici ce que je pense des normales et de leur relation avec les couleurs RVB. La sphère unitaire représente toute unité normale possible - en d'autres termes, les composantes X, Y et Z d'une plage vectorielle normale unitaire de -1 à 1. Les composantes d'une couleur RVB vont toutes de 0 à 255. Par conséquent, il est logique pour mapper -1 (composante normale) à 0 (composante couleur), 0 à 127 ou 128 et 1 à 255. Toute valeur intermédiaire est juste interpolée linéairement.
L'application de ce mappage aux normales d'un objet 3D arbitraire donne une image très colorée, pas du tout principalement bleue. Par exemple, lors de la prise d'un cube, les six faces auraient une couleur différente mais uniforme. Par exemple, le visage avec la normale (1,0,0) serait (255,128,128), le visage avec la normale (0,0, -1) serait (128,128,0) et ainsi de suite.
Cependant, pour une raison quelconque, les cartes normales d'un cube que j'ai trouvé sont complètement bleuâtres, c'est-à-dire (128,128,255). Mais clairement, les normales ne sont pas toutes dans la direction z positive, c'est-à-dire (0,0,1). Comment cela marche-t-il?
[Éditer]
Ok, donc l'approche décrite ci-dessus semble être appelée la carte normale de l'espace objet ou la carte normale de l'espace mondial . L'autre est appelé la carte normale de l'espace tangent . Je comprends comment une telle carte normale d'espace tangent peut être utilisée pour modifier les normales d'une géométrie, mais je ne suis pas encore complètement sûr de la façon dont elle est réellement calculée (voir mon commentaire dans la réponse de Nicol Bolas).
[Modifier 2]
Je devrais probablement mentionner que je travaille avec des surfaces paramétriques par morceaux. Ces surfaces se composent d'un ensemble de patchs de surface , où chaque patch est associé à son propre espace paramétrique (u, v) = [0,1] x [0,1]. En tout point de la surface, la normale peut être calculée exactement. Apparemment, les vecteurs T ( tangent ) et B ( bi-tangent ) - requis pour couvrir l'espace tangent - ne sont pas simplement les dérivées partielles du patch de surface dans la direction de u et v ...