ASTC (Adaptive Scalable Texture Compression) è un formato di compressione delle texture basato su blocchi, estremamente flessibile ed efficiente, sviluppato da ARM e standardizzato dal Khronos Group. È progettato principalmente per l'uso in applicazioni grafiche 3D in tempo reale, in particolare in ambito mobile, sistemi embedded e, sempre più spesso, nel gaming su desktop e console. Una caratteristica chiave di ASTC è la sua adattabilità, che consente un'ampia gamma di bit rate (da 8 bit per pixel fino a meno di 1 bit per pixel) e dimensioni dei blocchi variabili (ad esempio, 4x4, 5x5, fino a 12x12 pixel). Questa flessibilità permette agli sviluppatori di calibrare con precisione l'equilibrio tra qualità dell'immagine e ingombro di memoria, rendendolo adatto a diversi tipi di texture come diffuse map, normal map, specular map ed elementi dell'interfaccia utente. ASTC supporta texture 2D, 3D e cubemap, oltre a dati sia LDR (low dynamic range) che HDR (high dynamic range) e vari spazi colore, inclusi sRGB e lineari. I suoi vantaggi principali includono una qualità visiva superiore a bit rate inferiori rispetto a molti formati di compressione più datati, requisiti di larghezza di banda della memoria ridotti e una migliore efficienza energetica su hardware compatibile. ASTC è ampiamente supportato dalle moderne API grafiche come OpenGL ES, Vulkan e DirectX 12 Ultimate, rendendolo una scelta privilegiata per il rendering grafico ad alte prestazioni.