Komprese textury - Texture compression - Wikipedia
Trojrozměrný (3D) počítačová grafika |
---|
Základy |
Primární použití |
související témata |
Komprese textury je specializovaná forma komprese obrazu určené pro skladování texturní mapy v 3D počítačová grafika vykreslovací systémy. Na rozdíl od konvenčních algoritmů komprese obrazu jsou algoritmy komprese textury optimalizovány pro náhodný přístup.
Kompromisy
Ve svém seminárním příspěvku o kompresi textury[1] Piva, Agrawala a Chaddha vyjmenujte čtyři funkce, které mají tendenci odlišovat kompresi textury od jiných technik komprese obrazu. Jedná se o tyto funkce:
- Rychlost dekódování
- Je velmi žádoucí, aby bylo možné vykreslovat přímo z komprimovaných dat textury, a proto, aby nedošlo k ovlivnění výkonu vykreslování, musí být dekomprese rychlá.
- Náhodný přístup
- Protože předpovídá pořadí, ke kterému přistupuje vykreslovací modul texels by bylo obtížné, jakékoli schéma komprese textury musí umožňovat rychlý náhodný přístup k dekomprimovaným datům textury. To má tendenci vylučovat mnoho známějších schémat komprese obrazu, jako je JPEG nebo kódování délky běhu.
- Míra komprese a vizuální kvalita
- Ve vykreslovacím systému může být ztrátová komprese tolerovatelnější než v jiných případech použití. Některé knihovny komprese textur, například crunch,[2] umožnit vývojáři flexibilně vyměnit poměr komprese s vizuální kvalitou pomocí metod, jako je optimalizace zkreslení rychlosti (RDO).
- Rychlost kódování
- Komprese textury je tolerantnější k asymetrickým rychlostem kódování / dekódování, protože proces kódování se často provádí pouze jednou během procesu vytváření aplikace.
Vzhledem k výše uvedenému zahrnuje většina algoritmů komprese textury nějakou formu pevné rychlosti ztrátový vektorové kvantování malých bloků pixelů s pevnou velikostí na malé bloky kódovacích bitů s pevnou velikostí, někdy s dalšími extra kroky před zpracováním a po zpracování. Blokové zkrácení kódování je velmi jednoduchý příklad této rodiny algoritmů.
Protože jejich vzory přístupu k datům jsou dobře definované, může být dekomprese textury prováděna za běhu během vykreslování jako součást celkového grafický kanál, což snižuje celkovou šířku pásma a potřeby úložiště v celém grafickém systému. Stejně jako texturové mapy lze komprimaci textur také použít ke kódování jiných druhů vykreslovací mapy, včetně bump mapy a povrchové normální mapy. Kompresi textury lze také použít společně s jinými formami zpracování map, jako je MIP mapy a anizotropní filtrace.
Dostupnost
Některé příklady praktických systémů komprese textury jsou Komprese textury S3 (S3TC), PVRTC, Komprese textury Ericsson (ETC) a Adaptivní škálovatelná komprese textury (ASTC); tyto mohou být podporovány speciálními funkčními jednotkami v moderní verzi Jednotky grafického zpracování.
OpenGL a OpenGL ES, jak jsou implementovány na mnoha grafických akcelerátorových kartách a mobilních GPU, mohou podporovat několik běžných druhů komprese textur - obecně pomocí rozšíření prodejců.
Kompresi textury lze použít ke snížení využití paměti za běhu, na rozdíl od komprese textury určené ke snížení velikosti stahování nebo disku. Data textury jsou často největším zdrojem využití paměti v mobilní aplikaci.
Viz také
Reference
- ^ Andrew Beers; Maneesh Agrawala; Navin Chaddha (1996), „Rendering from Compressed Textures“, Počítačová grafika, Proc. SIGGRAPH: 373–378
- ^ "knihovna open source komprese textur". GitHub. Citováno 2016-09-13.
externí odkazy
- http://gamma.cs.unc.edu/GST/ GST: Superkomprimované textury dekódovatelné pomocí GPU
![]() | Tento počítačová grafika –Příbuzný článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |