Vad är en texturatlas?

I datorgrafikprogrammering är en texturatlas en tvådimensionell (2D) bild med antingen flera texturer eller flera bilder i huvudbilden som kan extraheras och användas av huvudapplikationen för att spara resurser som annars skulle användas för att ladda och underhålla varje enskild bild eller textur. I tredimensionell (3D) datorgrafik är en texturatlas något annorlunda genom att den innehåller hela bilden avsedd att struktureras till ett givet 3D-objekt, men den bilden är arrangerad på ett ibland förvirrande och förvrängt sätt, med de individuella ansiktena av varje polygon i 3D-modellen utritad platt på 2D-bilden. Vissa programmeringsspråk, grafikbibliotek och till och med hårdvara har en viss mängd systemkostnader förknippade med användningen av en enda bild. Genom att kombinera flera bilder till ett enda ark, eller texturatlas, kan ett program minska overhead på bekostnad av extra datorkod och, möjligen, bearbetningstid för att rita underavsnitt av atlasen till de ytor som kräver dem.

När den används i 3D-datorgrafik är en texturatlas resultatet av en process som kallas UVW-kartläggning. Bokstäverna UVW är inte en akronym utan är referenser till koordinaterna för en textur och används för att undvika förväxling med de mer standardiserade X-, Y- och Z-koordinaterna som används för en scens geometri. Om en 3D-modell kommer att använda UVW-mappning, plattas var och en av polygonerna först till för att skapa en 2D-bild, där varje polygon förblir ansluten till dess närliggande polygoner. Den resulterande texturatlasen – som är alla polygoner i 3D-modellen som är planlagda, en process som ibland kallas upplindning – kan sedan användas som en mall för att säkerställa korrekt placering av bilder på objektets olika ytor.

I 2D-applikationer kan en texturatlas spara systemresurser och tid att ladda bilden och öka renderingshastigheten genom att minska mängden arbete som ett grafikkort måste utföra för att snabbt byta bilder. En 2D-texturatlas kan användas för ett grafiskt användargränssnitt (GUI) där var och en av bilderna för en knapp finns inom samma bild, i ett rutmönster. På detta sätt, närhelst bilden av en knapp behöver återges på skärmen, kan undersektionen av den större bilden ritas istället för att först behöva flytta minnesplatser eller ladda den individuella texturen i grafikminnet.

En komplikation med att använda en texturatlas är hur mycket precision som krävs om atlasen skapas för hand. För en applikation som använder 32 pixlar breda brickor, måste atlasen ha varje platta justerad exakt i steg om 32 pixlar, vilket kan vara mycket tidskrävande och tråkigt. Många gånger kommer programmerare att använda någon typ av verktygsprogram för att ta en sats av enskilda bilder och konstruera atlasen procedurmässigt, vilket tar bort behovet av att räkna pixlar i ett målningsprogram.