A szöveg tárgyalása során a textúra-mapping kifejezés a számítógépes grafikában használt módszert írja le, amellyel a 2D képek (textúrák) projekcióját végezzük 3D modellek felületére. A részletek között a diffúz mapping és a textúra-képek felhasználásának különböző formái kerülnek érintésre, valamint a modern hardverre történő adaptációk, mint a swizzling, a tiled adatok, a több textúra (multitexturing) és a perspektív korrekció fontossága.
A textúra mapping alapelvei
A texture map egy 2D kép, amely vizuális részleteket ad a 3D modellhez. Ezek a rasztergrafikák vagy procedurális textúrák lehetnek az objektum felületére "felhúzva". Minden élt (vertex) egy poligonban hozzárendelt textúra-koordinátákkal (UV koordinátákkal) rendelkezik, amelyeket gyakran kiemel és szerkeszthet UVUnwrapping eszközökkel egy 3D modellező szoftverben. A textúra-képek képesek RGB vagy RGBA adatokkal szolgálni, és több csatorna használata lehetővé teszi a fényesség, normál, diszplacemement vagy alapszínezés részletgazdag keverését.
A modern grafikus technikáknak része a multitexturing, ahol egyszerre több textúrát használnak egy poligonon a fényhatások, részletesség és textúra-variációk elérésére. Például egy világítási textúra vagy részlet-textúra alkalmazása segít a jelenet realisztikusságának fokozásában anélkül, hogy minden egyes megjelenítésnél újraszámolnánk a világítást.
Textúra koordináták és projekciók
Az UV unwrapping eszközök általában a textúra-koordinátákat szemlélik textúra-térben, és a felhasználó manuálisan is szerkesztheti ezeket a koordinátákat. A projekció lehet síkbontó (planar), hengeralakú (cylindrical) vagy gömbi (spherical), ami a felületek torzításának minimalizálására szolgál. A perspektíva-korrekció fontos, különösen amikor egy téglalap vagy négyszögletes objektumot látunk a néző szemszögéből. A különböző módszerek, mint az affine map és a perspektív map közötti különbségek jelentősen befolyásolják a torzítás mértékét.
A Doom motorrendszer például korlátozta a világot vertikális falakra és vízszintes padlókra, ami egyszerűsített perspektívakorrekciókat tett lehetővé, miközben a későbbi rendszerek megoldották a perspektív-korrekciót összetettebb felületeken.
Képi és tárolási technikák
A textúra-adatok tárolása a modern hardveren swizzled vagy tiled elrendezéseket is magában foglalhat a hatékonyság növelése érdekében. A textúraformátumok gyakran RGB vagy RGBA adatokat tárolnak, esetleg speciális tömörítési formátumokat, és előfordulhat, hogy nagy textúra-készletet atlaszokba vagy tömbökkel (array textures) rendeznek, hogy minimalizálják állapot-váltásokat.
A textúra-szűrés biztosítja a mintavételezést a texels-ekből a képernyőre vetítés során. A legegyszerűbb a legközelebbi szomszéd módszer, de a bilineáris vagy trilineáris interpoláció gyakran hasznosabb az aliasing csökkentéséhez. Ha a koordináta kívül esik a textúrán, előfordulhat clamp vagy wrap mód.
A textúraszzerzése (texture streaming) lehetővé teszi, hogy több különböző felbontású textúra legyen elérhető, és az elérhető memória alapján döntsön a rendszer, melyik textúrát töltse be. A baking (render mapping) olyan technika, amely előre kiszámolt megjelenítési adatokból textúrát készít, például fény-map-ekre vagy normál-mapokra.
Speciális textúrák és minőség
Az egyes textúrák kombinálásával javítható a felület fényérzékenysége és részletessége. Például egy light map hozzáadja a megvilágítást anélkül, hogy minden keretre újraszámolnánk a világítást. A microtextúrák és a dirt mapok segítenek a részletgazdagság és a felület korrózió-szerű megjelenítésében, csökkentve a repetíciót. A mai grafikus rendszerek több, gyakran 10-nél több réteg használatát teszik lehetővé.
Textúra-mutatók és a megjelenítés folyamata
A textúra-mintavételezés során minden forrás-pixel (texel) felkerül a képernyőn található egyes pontokra. A vertexeket a nézet felé vetítik, és a texel koordinátákat interpolálják a felület mentén. A megjelenítő egység (texturing unit) az ilyen koordinátákat használva mintavételezi a textúrát a végső kép előállítása során.
Forgó textúramapok és a külső megjelenítés esetleg összevetik a quad-okat régebbi hardveren, ahol a nézet-korrekció hiányában az affine mapping jobban megfelelhet. A modern GPU-knál a textúra-samplerek és a textúra-dekódolás speciális egységeket használnak, például a DXT tömörítési formátumokra optimalizálva.
Összefoglaló a gyakorlati és történeti vonatkozásokról
A textúra-mapping története az egyszerű diffúz mapping-től a komplex multitexturing, a perspektív-korrekció és a modern GPU-k specializált egységeinek fejlesztéséig terjed. Releváns példák között említhető az első PlayStation által használt textúra-projekció vagy az idők folyamán alkalmazott különböző projekciós technikák, amelyek a valóságos megjelenítést szolgálták.

A textúra mapping a 3D modellek vizuális gazdagságát és élezettségétjét növeli meg úgy, hogy a felületeket a megfelelő textúra-koordinátákkal és mintavételezéssel látja el. A koordináták interpolációja és a nőtt részletesség érdekében alkalmazott technikák a játékfejlesztés és az animált jelenetek gördülékeny megjelenítését is támogatják.
Texture Maps Explained - Essential for All Texture Artists
Az ilyen módszerek alkalmazása lehetővé teszi, hogy a felhasználó élethű felületeket lásson, miközben a számítási költségek optimálisan kezelhetők a modern hardware-en.
| Technika | Jellemzők | Példák |
|---|---|---|
| Multitexturing | Több textúra egy időben | Light map, detail texture |
| Perspective correction | Torzítás csökkentése | UV koordináták korrekciója |
| Texture streaming | Változó felbontás | Elérhető memória alapján |