Sto cercando di afferrare il concetto di mappatura normale, ma sono confuso da alcune cose. In breve, non sono sicuro che una mappa normale dipenda o meno dal punto di vista (ovvero se otterrai una mappa normale diversa dello stesso oggetto quando ruoti attorno ad essa). In secondo luogo, non capisco perché il colore bluastro sia il colore predominante nelle mappe normali.
Il modo in cui penso alle normali e alla loro relazione con i colori RGB è il seguente. La sfera unitaria rappresenta qualsiasi unità normale possibile - in altre parole, i componenti X, Y e Z di un vettore normale unitario vanno da -1 a 1. I componenti di un colore RGB vanno tutti da 0 a 255. Pertanto, ha senso per mappare -1 (componente normale) su 0 (componente colore), da 0 a 127 o 128 e da 1 a 255. Qualsiasi valore in mezzo viene semplicemente interpolato linearmente.
Applicando questa mappatura alle normali di un oggetto 3D arbitrario si ottiene un'immagine molto colorata, per nulla prevalentemente blu. Ad esempio, quando si prende un cubo, tutte e sei le facce avrebbero un colore diverso, ma uniforme. Ad esempio, la faccia con il normale (1,0,0) sarebbe (255,128,128), la faccia con il normale (0,0, -1) sarebbe (128,128,0) e così via.
Tuttavia, per qualche motivo le normali mappe di un cubo che ho trovato sono completamente bluastre, cioè (128.128.255). Ma chiaramente, le normali non sono tutte nella direzione z positiva, cioè (0,0,1). Come funziona?
[Modificare]
Ok, quindi l'approccio sopra descritto sembra essere indicato come mappa normale dello spazio oggetti o mappa normale dello spazio mondiale . L'altra è chiamata mappa normale dello spazio tangente . Capisco come una normale mappa dello spazio tangente possa essere usata per modificare le normali di una geometria, ma non sono ancora del tutto sicuro di come venga effettivamente calcolata (vedi il mio commento alla risposta di Nicol Bolas).
[Modifica 2]
Dovrei probabilmente menzionare che sto lavorando con superfici parametriche a tratti. Queste superfici sono costituite da un insieme di patch di superficie , in cui ogni patch è associata al suo spazio parametrico (u, v) = [0,1] x [0,1]. In qualsiasi punto della superficie, la normale può essere calcolata esattamente. Apparentemente, i vettori T ( tangente ) e B ( bi-tangente ) - necessari per estendere lo spazio tangente - non sono semplicemente le derivate parziali del patch di superficie nella direzione di u ...