Tekstūros filtravimas

Kompiuterinėje grafikoje tekstūros filtravimas – procesas, kurio metu yra nustatoma, tekstūra dengiamo paviršiaus kiekvieno taško (pikselio) spalva, naudojant artimiausių tekselių spalvas. Yra dvi pagrindinės tekstūros filtravimo kategorijos, didinimo filtravimas ir mažinimo filtravimas.

Tekstūrų filtravimas reikalingas todėl, nes ekrane atvaizduojamo paviršiaus dydis priklauso nuo to paviršiaus atstumo iki virtualios kameros. Dengiant paviršių tekstūra, tekstūros paveikslėlį reikia padidinti arba sumažinti, kad jis atitiktų paviršiaus dydį.
Tekstūros filtravimas yra supaprastintas sumažinto/padidinto paveikslėlio glodinimas, naudojamas, kai vaizdai turi būti generuojami didele sparta. Pavyzdžiui, jei virtuali kamera yra labai toli nuo dengiamo paviršiaus, visa tekstūra gali sutilpti į vieną paviršiaus tašką, tačiau mažinant tekstūrą įprastu metodu, reiktų nuskaityti visus tekstūros taškus, ir juos sukombinavus, gauti dengiamo paviršiaus taško spalvą. Realaus laiko užduotyse, tokia operacija yra neleistinai ilga.

Metodai

Artimiausio kaimyno interpoliacija 
Šiame metode kiekvienam paviršiaus taškui parenkama to tekstūros taško (tekselio), kuris yra arčiausiai atitinkamo paviršiaus taško centro, spalva. Šis metodas yra greičiausias, tačiau gaunamas blogos kokybės vaizdas.

Artimiausio kaimyno interpoliacija su tekstūrų dydžių žemėlapiu (mipmap) 
Šiame metode naudojamas tekstūrų dydžių žemėlapis (kiekviena tekstūra yra pridedama įvairiais dydžiais). Paviršiaus taškų spalva parenkama naudojant artimiausio kaimyno interpoliaciją iš to tekstūros paveikslėlio, kurio dydis yra artimiausias dengiamam paviršiui. Šis metodas naudoja daugiau atminties, nes kiekviena tekstūra yra įrašyta keliais dydžiais, tačiau gaunami geresnės kokybės vaizdai.

Bilinijinis filtravimas 
Šiame metode nustatant paviršiaus taško spalvą, naudojamas keturių artimiausių tekstūros taškų vidurkis. Vidurkinant taškai padauginami iš svorinių koeficientų, nustatomų pagal jų nuotolį. Šis metodas dažniausiai naudojamas kartu su tekstūrų dydžių žemėlapiu (naudojant tą tekstūros paveikslėlį, kurio dydis yra artimiausias dengiamam paviršiui).

Trilinijinis filtravimas 
Šis filtravimo metodas ištaiso netolygumus atsirandančius bilinijiniame filtravime su tekstūrų žemėlapiu (kai ant į tolį besitęsiančio paviršiaus aiškiai matoma riba tarp paviršiaus dalių, kurioms buvo naudota skirtingo dydžio tekstūra). Trilinijiniame filtravime viskas vyksta taip pat kaip ir bilinijiniame, tačiau naudojamas ne tas tekstūros paveikslėlis, kurio dydis yra artimiausias, bet yra tiesiškai interpoliuojama iš dviejų gretimų artimiausių paveikslėlių.

Anisotropinis filtravimas 
Šiame filtravimo metode naudojama trapecija (kituose metoduose imamas kvadratas) ir tada pritaikomas trilinijinis filtravimas. Šis metodas veikia lėčiausiai, tačiau juo gaunami geriausi rezultatai.

Šaltiniai 

Kompiuterinė grafika