Kaj je stiskanje teksture?

V zvezi z računalniško grafiko je stiskanje tekstur način, da posnamemo sliko, ki bo uporabljena kot tekstura na predmetu, običajno v tridimenzionalni (3D) sceni, in zmanjša količino pomnilnika, ki ga slika potrebuje. Za razliko od bolj tradicionalnih algoritmov stiskanja slike, metode stiskanja tekstur poskušajo zagotoviti način, da stisnjeno sliko obdržijo v pomnilniku, hkrati pa programu omogočijo dostop do določenih slikovnih pik v sliki, ne da bi morali sliko popolnoma razpakirati. To je mogoče doseči na več načinov, vključno s kodiranjem obrezovanja blokov (BTC), čeprav je treba prihranke v pomnilniku med izvajanjem programa običajno uravnotežiti s povečanjem porabe procesorja ali zmanjšanjem kakovosti slike, ki je posledica uporabe stiskanja z izgubo. Najpogosteje proizvajalci različnih grafičnih kartic in drugih naprav implementirajo podporo za stiskanje tekstur neposredno v strojno opremo, kar vodi do več skupnih kompresijskih algoritmov, ki nosijo imena različnih proizvajalcev strojne opreme.

Eden od razlogov, zakaj je bilo stiskanje tekstur razvito in je postalo običajna tehnika v 3D grafiki, je ta, da lahko traja več deset gigabajtov pomnilnika za shranjevanje nestisnjenih slikovnih tekstur za prizore, ki so namenjeni ogledu na monitorjih z višjo ločljivostjo. Poleg tega imajo ročne digitalne naprave na splošno omejeno količino pomnilnika, ki sicer ne bi mogel shraniti potrebnih slik za 3D sceno. Stiskanje tekstur zmanjša količino pomnilnika, ki je potreben v sistemu, tako da je mogoče uporabiti več tekstur ali tekstur višje kakovosti.

Najosnovnejša vrsta stiskanja teksture je znana kot kodiranje skrajšanja blokov. Ta metoda vzame sliko in jo razdeli na majhne bloke slikovnih pik, pri čemer najde dve barvi znotraj bloka, ki sta najbolj oddaljeni od perspektive barvnega prostora. Dejanskim slikovnim pikam v bloku se nato dodeli številčna vrednost, ki označuje njihovo barvo glede na obe skrajni barvi. Shema stisne sliko, ker je količina bitov, potrebnih za shranjevanje odstopanja slikovne pike od barv v bloku, manjša od tiste, ki je potrebna za shranjevanje dejanske barve. Nastala kompresija omogoča tudi indeksiranje slikovnih pik neposredno iz stisnjene slike, kot je potrebno.

Odvisno od strojne opreme, programske opreme in drugih dejavnikov se lahko stiskanje teksture pojavi med izvajanjem ali pa se izvede vnaprej in shrani kot datoteka. Dinamično ustvarjene teksture je treba med izvajanjem vedno stisniti. Nalaganje stisnjene teksture iz datoteke je lahko na začetku hitrejše, vendar lahko povzroči tudi težave, če strojna oprema ne podpira določene vrste stiskanja.