Ero sivun ”Teksturointi” versioiden välillä

52 merkkiä lisätty ,  14 vuotta sitten
ei muokkausyhteenvetoa
'''Teksturoinnilla''' eli ''pintakuvioinnilla'' tai ''tekstuurimappauksella'' tarkoitetaan [[tietokonegrafiikka|tietokonegrafiikassa]] [[geometria|geometrisen]] perusmuodon pinnoittamista useimmiten [[bittikarttagrafiikka|bittikarttakuva]]lla eli tekstuurilla. Teksturointia käytetään etenkin [[3D-grafiikka|3d-grafiikassa]] tuomaan kuvaan lisää realismiatodenmukaisuutta ja näyttävyyttä ilman että kuvan polygonirakennetta[[polygoni]]rakennetta tarvitsee monimutkaistaa. 3d-grafiikassa kappaleen muotoa kuvataan polygoneilla eli monikulmioilla ja sen pintarakennetta tekstuureilla.
 
Teksturointia käytetään nykyisissä peleissä hyvin paljon, ja nykyaikaiset näytönohjaimet ja pelikonsolit pystyvätkin reaaliaikaiseen teksturointiin laitteistotasolla.
 
== Tekniikkaa ==
 
Teksturoinnin ideanperusajatuksen esitti Edwin Catmull vuonna 1974. Teksturointi jakautuu teknisesti kahteen vaiheeseen, geometriseen kuvaukseen eli tekstuurin kuvaamiseen kappaleen pinnalle ja suodatukseen, eli tapaan jolla pikselit esitetään ruudulla. Tekstuuri kuvataan geometriselle muodolle yleensä siten, että kolmion (polygoni voidaan aina jakaa kolmioiksi) jokaiselle kulmalle on määritelty tekstuurikoordinaatit ja teksturointi kolmion sisäosiin interpoloidaan kulmien koordinaattien perusteella käyttämällä [[Bresenhamin algoritmi]]n laajennusta. Muilla kuin ortogonaalisilla koordinaatistoilla yksinkertainen lineaarinen interpolointi johtaa kuitenkin perspektiivivääristymään, jonka korjaamiseksi tarvitaan perspektiivikorjausta. Se kuluttaa enemmän tehoa, mutta useimmat nykyiset näytönohjaimet pystyvät laitteistotasoiseen perpektiivikorjaukseen.
 
=== Suodatus ===
 
Koska teksturoitava pinta voi olla missä asennossa ja millä etäisyydellä katsojaan nähden tahansa, tekstuurin pikselit (eli tekselit) ja kuvan pikselit eivät yleensä vastaa toisiaan. Esimerkiksi jos kappale on kaukana ja siten kuvataan ruudulle pienenä, voi jokaista kuvan pikseliä kohden olla useampia tekstuurin pikseleitä. Vastaavasti jos pinta on lähellä, yksi tekstuuripikseli voi kuvautua useaksi kuvan pikseliksi. Suodatus eli filtteröinti tarkoittaa kuvan pikselien päättelemistä tekstuurin pikseleistä.
[[Trilineaarinen interpolointi (tietokonegrafiikka)|Trilineaarinen interpolointi]] huomioi bilineaariseen interpolointiin lisäksi lähimmän toisen mipmapping-tason pikselit, mikä korjaa häiriötä mipmappien vaihtumiskohdassa. Kehittynein nykyisten yksityiskäyttäjätasoisten näytönohjainten tukema suodatusmenetelmä on [[anisotrooppinen suodatus]], joka interpoloi pikseleitä katselukulman mukaan muodostetun puolisuunnikkaan mukaan trilineaarisen ja bilineaarisen interpoloinnin käyttämän neliön sijaan. Tämä parantaa tulosta epäsuorissa kulmissa ja kaukaisuudessa.
 
=== Tekstuuri ===
 
Käytettävä tekstuuri on yleensä kaksiulotteinen bittikarttakuva, mutta se voi olla myös yksi- tai kolmiulotteinen. Se voidaan ottaa valokuvasta, piirtää tai konstruoida matemaattisena funktiona, ja esittää normaalina bittikarttataulukkona tai esim. fourier-sarjoina. Tekstuuri voi olla myös muu kuin kuva: esimerkiksi [[bump mapping]]-tekniikassa vaikutetaan valaistuksessa käytettäviin parametreihin.
 
== Lähteet ==
 
* [http://www.tml.tkk.fi/Opinnot/Tik-111.500/2002/paperit/antti_kangas.pdf]
 
[[Luokka:Tietokonegrafiikka]]