Ero sivun ”Teksturointi” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
ew:n texture filtering-artikkelista
Rivi 6:
 
Teksturoinnin idean 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.
 
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ä.
 
===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ä.
 
Yksinkertaisin ja nopein suodatustapa on [[lähimmän naapurin menetelmä]], jossa haetaan lähimmän tekstuuripikselin väriarvo. Näin yksinkertainen suodatus aiheuttaa kuitenkin ongelmia silloin kun kappaleet ovat erityisen kaukana, jolloin tekstuurit muuttuvat pikselimössöksi, eli signaalinkäsittelyn termein kuva [[laskostuminen|laskostuu]], ja silloin kun kappaleet ovat erityisen lähellä, jolloin tekstuurit palikoituvat. Kaukana olevien tekstuurien laskostumisongelmaa voi korjata mipmapping-tekniikalla, jossa tekstuuri vaihdetaan esimuodostettuun pienempään versioon kappaleen siirtyessä kauemmas. Tämä parantaa myös etenkin monimutkaisempien suodatusalgoritmien tehoa, koska niiden ei tarvitse laskea kaukana olevien kappaleiden pikseleitä lukuisten tekstuuripikseleiden keskiarvona. Mipmapping ei kuitenkaan auta palikoitumiseen tekstuurien ollessa lähellä.