Vad är anisotropisk filtrering?

click fraud protection

Anisotropisk filtrering är ett relativt standardalternativ i videospel. Väldigt få spel bryr sig dock om att förklara vad det gör, och de som gör det skulle fortfarande ha nytta av ett visuellt exempel för att göra det lättare att förstå.

Anisotropisk filtrering är en texturfiltreringsteknik som märkbart kan förbättra kvaliteten på texturer som ses i en vinkel. Detta är i allmänhet mest märkbart på platta vägg- eller golvstrukturer som sträcker sig ut i fjärran. Utan texturfiltrering kommer en textur som ses i en vinkel att bli märkbart suddig och förlora mycket detaljer när vinkeln blir brantare.

Mipmaps

En grundläggande lösning på denna suddighet är texture mipmaps. Mipmapping innebär förberäkning av en serie nedskalade versioner av texturer. Till exempel, om den ursprungliga strukturen är 256×256 pixlar, skulle mipmap-versionen ha versionerna 128×128, 64×64, 32×32 pixlar och så vidare. Denna design ökar storleken på alla texturfiler med 33 %.

Tips: "Mip" i Mipmap kommer från initialerna för frasen "mycket i ett litet utrymme" på latin "Multum in parvo".

De nedskalade versionerna i mipmappade texturer används när texturen med reducerad upplösning är mer effektiv att visa än full upplösning. Detta problem med detta tillvägagångssätt uppstår eftersom bilden med reducerad upplösning per definition är mindre än originalet. För att något mönster ska verka matcha måste texturen sträckas ut för att matcha bredden på den ursprungliga strukturen. Denna stretching ökar plötsligt och märkbart texturens suddighet, och effekten blir värre när texturer med lägre upplösning byts in. Hur uppenbar denna suddighetseffekt än är, är den fortfarande mindre synlig och mindre processorkrävande än att behöva använda fullskalig textur och skala ner den i realtid.

Anisotropisk filtrering

Lösningen på detta problem är anisotropisk filtrering. Istället för att bara använda successivt mindre texturer som halverar bredden och höjden av den föregående texturen, skapas också en halv bredd full höjd och en halv höjd full bredd textur. Dessa halvhöga texturer i full bredd ger den nödvändigtvis reducerade kvaliteten men behöver inte vara sträckt eftersom de redan har samma bredd som den ursprungliga texturen, vilket förhindrar det betydande suddig effekt.

Tips: Ordet "anisotrop" har ett sammansatt ursprung. "An" betyder inte, "iso" betyder samma, och "tropisk" kommer från tropism, vilket betyder relaterat till riktning. Det här namnet passar eftersom anisotropisk filtrering inte filtrerar på samma sätt i alla riktningar.

I spel presenteras det anisotropiska filtreringsalternativet ofta med en multiplikator, vanligtvis 2x, 4x, 8x och 16x. Dessa representerar antalet storleksreduktioner som är tillgängliga för användning. Vanligtvis är skillnaden mellan 8x och 16x nästan omöjlig att urskilja förutom i jämförelser sida vid sida. Detta beror på det faktum att de enda påverkade texturerna är avlägsna, små och därför svåra att se. Prestandapåverkan av anisotrop filtrering är relativt minimal.