filtrare textura

Filtrarea rezolvă problema de determinare a culorii pixelului pe baza texel disponibile a imaginii textura.

Cea mai simplă metodă de mapare texturii se numește proba pointwise (un singur punct de prelevare). Esența este că pentru fiecare pixel constituind poligon, selectați una texel a imaginii textura, toate situate aproape de centrul spotului de lumină. Pentru a face greșeli, deoarece culoarea pixelului determină numărul de texeli, și numai unul a fost ales.







Această metodă este foarte inexacte, iar rezultatul utilizării sale este apariția neregularităților. Și anume, de fiecare dată când pixelii sunt mai mari decât texeli, există efectul de flicker. Acest efect apare atunci când o parte a poligonului este îndepărtat suficient din punct de observație, astfel că, odată ce o mulțime de texeli se suprapun în spațiul ocupat de un pixel. Rețineți că, în cazul în care depozitul de deșeuri este situat foarte aproape de punctul de observație și texeli sunt mai mari ca dimensiune decât pixeli, există un alt tip de deteriorare a calității imaginii. În acest caz, imaginea începe să se uite bloc. Acest efect se produce atunci când o textura poate fi suficient de mare, dar restricția de rezoluția ecranului disponibile face imposibilă pentru a reprezenta corect imaginea originală.

A doua metodă - filtrarea biliniară (Bi-Linear Filtrare) este de a folosi tehnici de interpolare. Pentru a determina texeli care trebuie să fie utilizate pentru interpolare, folosind forma de bază a unui spot luminos - cerc. Substanțial aproximat cerc 4 texeli. Biliniară de filtrare - o tehnica pentru eliminarea distorsiune a imaginii (filtrare), cum ar fi „blockiness“ textură atunci când acestea cresc. În timpul rotației lente sau mișcarea obiectului (panoramarea / îndepărtare) pot fi vizibile „sar“ de pixeli dintr-o locație în alta, adică, Se pare blockiness. Pentru a evita acest efect, se aplică filtrarea biliniară, folosind pentru a determina culoarea fiecărui pixel ia o medie ponderată a culorilor patru texeli adiacente într-o culoare determinată de o textură suprapuse. Culoarea pixel rezultată este determinată după cele trei operații de amestecare: mai întâi amestecat culoare din cele două perechi de texeli, și apoi se amestecă două culoarea rezultată.

Principalul dezavantaj al filtrare biliniară este faptul că apropierea este efectuată corect numai pentru depozitele de deșeuri, care sunt amplasate paralel cu ecranul sau la punctul de observație. Dacă poligonul este dislocat la un unghi (care este în 99% din cazuri), este utilizată aproximare slabă, cum ar fi aproximate printr-o elipsă.

Eroare „adâncimea aliasing“ provine din faptul că obiectele sunt mai îndepărtate de punctul de observație să se uite mai mici pe ecran. Dacă obiectul se mișcă și se deplasează departe de punctul de observație, textură imagine suprapusă pe redusă în dimensiune a obiectului devine tot mai comprimat. În cele din urmă, imaginea textura suprapusă pe obiect devine atât de comprimat că există erori de formare a imaginii. Aceste erori de formare a imaginii sunt în mod particular de nedorit în animație, în cazul în care astfel de artefacte de mișcare devin în timpul unei cauze de flicker și efectul mișcării lente în partea a imaginii care urmează a fi fixat și stabil.

Pentru a ilustra efectul descris poate fi dreptunghiuri cu următorul texturarea biliniară:

Fig. 13.29. Umbrirea obiect prin filtrare biliniară. Artefactele „profunzime-aliasing“, care se reflectă în faptul că unele pătrate sunt unite într-una singură.

Pentru a evita greșelile și simulează faptul că obiectele în depărtare sunt mai puțin detaliate decât cele care sunt mai aproape de punctul de observație, folosind o tehnică cunoscută sub numele de MIP-mapare. Pe scurt, MIP-mapare - texturarea cu diferite grade sau niveluri de detaliu, atunci când, în funcție de distanța până la punctul de observație este selectat textura cu detaliile necesare.







MIP-textura (MIP-hartă) constă dintr-un set de imagini de pre-filtrate și scalate. Imaginea asociată cu nivelul MIP-hartă, pixelul este reprezentat ca medie a patru pixeli dintr-un strat anterior cu o rezoluție mai mare. Prin urmare, imaginea asociată cu fiecare nivel de textura MIP-patru ori mai mică decât dimensiunea nivelului MIP-harta precedentă.

Fig. 13.30. Imaginile asociate cu fiecare textură ondulator MIP-hartă nivel.

De la stânga la dreapta avem nivelurile MIP-harta 0, 1, 2, etc. Imaginea este mai mic, cu atât mai mult detaliu este pierdut, până când ne apropiem de sfârșitul anului, atunci când nu vezi nimic, dar pete neclare de pixeli gri.

Gradul sau nivelul de detaliu - nivelul de detaliere, sau doar LOD, sunt utilizate pentru a determina nivelul de ceea ce MIP-harta (sau orice nivel de detaliere) ar trebui să fie selectate pentru maparea texturii pe obiect. LOD ar trebui să se potrivească cu numărul de texeli aplicate la un pixel. De exemplu, în cazul în care texturare are loc cu un prim raport de 1: 1, LOD este 0, și, prin urmare, să fie utilizate la nivel MIP-harta cea mai mare rezoluție. În cazul în care 4 sunt suprapuse Texel pe un pixel, LOD 1 și va fi utilizat la nivelul următor MIP o rezoluție mai mică. De obicei, distanța de la punctul de observație, un obiect care merită cea mai mare atenție are un LOD mai mare.

La acea vreme, ca MIP-texturare rezolvă problema de erori „profunzime-aliasing“, utilizarea acesteia poate duce la apariția altor artefacte. Când ștergeți un obiect mai departe de punctul de observație, trecerea de la un nivel scăzut-MIP-hartă la cel mai mare. La momentul obiectului într-o stare de tranziție de la un nivel MIP-hartă la altul, există un tip special de erori de formare a imaginii, cunoscut sub numele de „MIP-banding“ - banding sau sloenost, și anume în mod clar limitele perceptibile de tranziție de la un nivel MIP-harta la alta.

Fig. 13.31. bandă dreptunghiulară este format din două triunghiuri, ondulate imagine texturate, în cazul în care „MIP-banding“ artefacte sunt marcate cu săgeți roșii.

O problemă deosebit de acută pentru erori „MIP-banding“ stă în animație, datorită faptului că ochiul uman este foarte sensibil la deplasările și se pot observa cu ușurință o tranziție bruscă între nivelurile de filtrare în timp ce se deplasează în jurul obiectului.

Filtrarea Trilinear (filtrarea Triliniar) reprezintă o a treia metodă, care elimină artefacte "MIP-banding", apar atunci când se utilizează MIP-cartografiere. Când filtrarea Trilinear pentru a determina culoarea pixelului este luată cu valoarea medie de culoare opt texeli, patru texturi învecinate două și șapte, ca urmare a operațiilor de amestecare este determinată de culoarea pixelilor. Când se folosește o filtrare Triliniar poate genera un obiect texturat pe ecran realizat cu tranziții lin de la un nivel la altul pim, care se realizează prin determinarea LOD prin interpolarea două niveluri pim-hartă adiacente. Astfel, rezolvarea cele mai multe dintre problemele asociate cu MIP-texturare și erorile datorate calculului incorecte adâncimea scenei ( „aliasing profunzime“).


Fig. 13.32. Pyramidality MIP-map

Exemplu filtrului Triliniar este prezentată mai jos. Aici din nou, se utilizează toate același dreptunghi, imagine texturate ondulat, dar cu tranziții line de la un nivel la altul MIP folosind o filtrare tri-liniar. Notă absența oricăror erori de formare a imaginii vizibile.

Fig. 13.33. Dreptunghi, imagine ondulate texturate afișate pe ecran folosind un MIP-texturare și filtrare Trilinear.

Există mai multe moduri de a genera texturile MIP. Unul dintre ei - doar pentru a le pregăti în avans, folosind pachete grafice, cum ar fi Adobe Photoshop. Un alt mod - generarea de texturi MIP "on the fly", adică în timpul execuției programului. Pre-pregătit textura MIP înseamnă încă 30% din spațiu pe disc pentru texturile în versiunea de bază a instalației de joc, dar permite o metode mai flexibile de management pentru crearea lor și vă permit să adăugați diverse efecte și mai multe detalii cu privire la diferitele niveluri ale PMI.

Se pare că mipmepping Trilinear este cel mai bun poate fi?

Nu, desigur. Se vede că problema este nu numai raportul de dimensiune a pixelului și Texel, dar, de asemenea, sub formă de fiecare dintre ele (sau care ar fi mai precis, sub formă de relații).

Metoda MIP-texturare funcționează cel mai bine pentru depozitele de deșeuri amplasate direct „față în față“, până la punctul de observație. Cu toate acestea, poligoane, oblic în raport cu textura de îndoire punctul de observație suprapuse, astfel încât pixelii se pot suprapune diferite tipuri și forma pătratică a regiunii imaginii texturii. Metoda MIP-texturare nu ia în considerare acest lucru și, ca urmare, există efectul prea mult estompa imaginea texturii, ca și în cazul în care utilizează incorect selectat texeli. Pentru a rezolva această problemă, trebuie să selectați dintr-un număr mai mare de texeli care alcătuiesc textura și alege aceste texeli ar trebui să fie luați în considerare „cartografiate“ forma un pixel în spațiu textura. Această metodă se numește filtrare anizotrope ( „filtrare anisotropic“). texturare Normal MIP-numit „izotrop“ (izotrop sau omogene), pentru că suntem mereu împreună filtru zona pătrat format din texeli. Filtrare anizotropică înseamnă că forma regiunii de texeli pe care le folosim variază în funcție de circumstanțe.