In relazione alla grafica computerizzata, la compressione delle texture è un modo per acquisire un’immagine che verrà utilizzata come texture su un oggetto, di solito in una scena tridimensionale (3D), e ridurre la quantità di memoria richiesta dall’immagine. A differenza dei più tradizionali algoritmi di compressione delle immagini, i metodi di compressione delle trame tentano di fornire un modo per mantenere l’immagine compressa in memoria consentendo anche a un programma di accedere a pixel specifici all’interno dell’immagine senza dover decomprimere completamente l’immagine. Esistono diversi modi per ottenere ciò, inclusa la codifica del troncamento dei blocchi (BTC), sebbene il risparmio di spazio di memoria durante l’esecuzione del programma di solito debba essere bilanciato con un aumento dell’utilizzo del processore o una riduzione della qualità dell’immagine derivante dall’uso della compressione con perdita. Più frequentemente, i produttori di diverse schede grafiche e altri dispositivi implementano il supporto per la compressione delle trame direttamente nell’hardware, portando a diversi algoritmi di compressione comuni che portano i nomi di diversi produttori di hardware.
Uno dei motivi per cui la compressione delle trame è stata sviluppata ed è diventata una tecnica comune nella grafica 3D è che possono essere necessarie diverse decine di gigabyte di memoria per memorizzare trame di immagini non compresse per scene destinate a essere visualizzate su monitor a risoluzione più elevata. Inoltre, i dispositivi digitali portatili hanno generalmente quantità limitate di memoria che altrimenti non sarebbero in grado di contenere le immagini richieste per una scena 3D. La compressione delle trame riduce la quantità di memoria necessaria su un sistema in modo da poter utilizzare più trame o trame di qualità superiore.
Il tipo più elementare di compressione delle texture è noto come codifica del troncamento dei blocchi. Questo metodo prende un’immagine e la divide in piccoli blocchi di pixel, trovando i due colori all’interno del blocco che sono i più distanti da una prospettiva dello spazio colore. Ai pixel effettivi dell’immagine all’interno del blocco viene quindi assegnato un valore numerico per indicare il loro colore in relazione ai due colori estremi. Lo schema comprime un’immagine perché la quantità di bit richiesta per memorizzare la deviazione di un pixel dai colori in un blocco è inferiore a quella richiesta per memorizzare il colore effettivo. La compressione risultante fornisce anche un modo per indicizzare i pixel direttamente dall’immagine compressa secondo necessità.
A seconda dell’hardware, del software e di altri fattori, la compressione delle texture può verificarsi in fase di esecuzione o può essere eseguita in anticipo e salvata come file. Le texture create dinamicamente devono sempre essere compresse durante l’esecuzione. Il caricamento di una trama compressa da un file può essere inizialmente più veloce, ma può anche causare problemi se l’hardware non supporta un tipo specifico di compressione.