Che cos’è la mappatura dei rilievi?

Nella computer grafica, in particolare nella computer grafica tridimensionale (3D), la mappatura in rilievo è un modo per applicare un’immagine bidimensionale (2D) alla superficie di un oggetto per modificare l’aspetto della sua geometria. Una mappa in rilievo è un’immagine 2D in cui ogni immagine determina l’altezza della posizione corrispondente su un modello 3D o, in alternativa, è trasparente per indicare che non c’è geometria in un dato punto sul modello. Quando l’immagine 2D è mappata con texture sulla superficie dell’oggetto 3D, il motore di rendering modificherà la geometria dell’oggetto e sposterà ogni punto associato a un pixel nell’immagine 2D di una certa distanza dalla sua coordinata originale di un valore che corrisponde al suo pixel di trama. Ciò consente quantità molto sottili di dettagli che possono rispondere alla luce, proiettare ombre accurate e persino coprire oggetti di sfondo senza la necessità di mesh fini e ad alta intensità di memoria per costruire la geometria. Un esempio di questo tipo di mappatura potrebbe essere l’applicazione di una foto satellitare della Terra a una sfera, con la mappatura in rilievo che fa sì che i punti sulla superficie della sfera siano più alti dove ci sono montagne e rimangano piatti dove ci sono oceani.

La mappatura dei rilievi si basa su un’immagine di texture 2D per i dati necessari per il rendering di un oggetto. L’immagine 2D è composta da pixel di diversi colori e ogni colore viene tradotto in un’altezza specifica. La maggior parte di queste immagini sono in scala di grigi perché è facile determinare l’altezza di un’area quando il nero equivale a nessuna altezza, il bianco puro sarà l’altezza massima e i grigi costituiranno i valori intermedi.

Quando a un oggetto è stata applicata la trama 2D per la mappatura in rilievo, la posizione di ciascun pixel viene abbinata a un punto nella geometria dell’oggetto. Se il pixel della trama nell’immagine, chiamato texel, ha un valore diverso da zero, la coordinata 3D della superficie del modello viene regolata dal valore del pixel lontano dal centro dell’oggetto nella direzione della superficie normale. La quantità di movimento rappresentata da ciascuna unità texel può essere impostata su un valore molto basso in modo che la mappatura in rilievo possa essere utilizzata per creare solo lievi deformità in una superficie, oppure può essere impostata su un valore elevato in modo che una mappa con texture in rilievo si traduca in un terreno selvaggiamente frastagliato.

Ci sono molti usi per la mappatura in rilievo nella computer grafica, dalla visualizzazione di mappe cartografiche 2D in 3D alla simulazione geometrica di trame molto dettagliate, come la superficie tessuta di un maglione. Va notato che la mappatura in rilievo è molto simile alla mappatura a rilievo e alcuni programmi ottimizzano effettivamente la mappatura a distanza all’interno di una scena ripristinando la mappatura a rilievo. La differenza principale è che, mentre è possibile ottenere effetti di superficie simili, il bump mapping non fa mai effettivamente sporgere la geometria dell’oggetto al di fuori della sua forma geometrica di base. Ciò significa che, se una sfera è mappata in rilievo con un’immagine di montagne, la superficie visibile renderà accuratamente le montagne ma i bordi della sfera e l’ombra della sfera rimarranno perfettamente rotondi. La tecnica di mappatura dei rilievi modificherebbe effettivamente la sfera in modo che la sua geometria rifletta accuratamente le altezze della trama.