Che cos’è un atlante di texture?

Nella programmazione di computer grafica, un atlante di texture è un’immagine bidimensionale (2D) con più trame o più immagini all’interno dell’immagine principale che può essere estratta e utilizzata dall’applicazione principale per risparmiare risorse che altrimenti verrebbero utilizzate per caricare e mantenere ogni singola immagine o trama. Nella computer grafica tridimensionale (3D), un atlante di texture è leggermente diverso in quanto contiene l’intera immagine destinata a essere strutturata su un dato oggetto 3D, ma quell’immagine è organizzata in modo a volte confuso e distorto, con le singole facce di ogni poligono nel modello 3D tracciato piatto sull’immagine 2D. Alcuni linguaggi di programmazione, librerie grafiche e persino hardware hanno un certo sovraccarico di sistema associato all’uso di una singola immagine. La combinazione di più immagini in un unico foglio, o atlante di texture, consente a un programma di ridurre il sovraccarico a spese del codice aggiuntivo del computer e, possibilmente, del tempo di elaborazione per disegnare sottosezioni dell’atlante sulle superfici che le richiedono.

Quando viene utilizzato nella computer grafica 3D, un atlante di texture è il risultato di un processo noto come mappatura UVW. Le lettere UVW non sono un acronimo ma sono riferimenti alle coordinate di una texture e vengono utilizzate per evitare confusione con le coordinate X, Y e Z più standard utilizzate per la geometria di una scena. Se un modello 3D utilizzerà la mappatura UVW, ciascuno dei poligoni viene prima appiattito per creare un’immagine 2D, con ogni poligono che rimane connesso ai poligoni vicini. L’atlante delle texture risultante, ovvero tutti i poligoni del modello 3D disposti in modo piatto, un processo a volte chiamato srotolamento, può quindi essere utilizzato come modello per garantire il posizionamento accurato delle immagini sulle varie superfici dell’oggetto.

Nelle applicazioni 2D, un atlante di texture può far risparmiare risorse di sistema e tempo impiegato per caricare l’immagine e aumentare la velocità di rendering riducendo la quantità di lavoro che una scheda grafica deve eseguire per cambiare rapidamente le immagini. Un atlante di texture 2D può essere utilizzato per un’interfaccia utente grafica (GUI) in cui ciascuna delle immagini di un pulsante si trova all’interno della stessa immagine, in uno schema a griglia. In questo modo, ogni volta che è necessario eseguire il rendering dell’immagine di un pulsante sullo schermo, è possibile disegnare la sottosezione dell’immagine più grande invece di dover prima spostare le posizioni di memoria o caricare la singola trama nella memoria grafica.

Una complicazione con l’uso di un atlante di texture è la quantità di precisione richiesta se l’atlante è creato a mano. Per un’applicazione che utilizza riquadri larghi 32 pixel, l’atlante deve avere ogni riquadro allineato esattamente con incrementi di 32 pixel, il che può richiedere molto tempo e noioso. Molte volte, i programmatori utilizzeranno un qualche tipo di software di utilità per prendere un batch di singole immagini e costruire l’atlante proceduralmente, eliminando la necessità di contare i pixel in un programma di pittura.