ASTC (Adaptive Scalable Texture Compression) — это высокогибкий и эффективный блочный формат сжатия текстур, разработанный компанией ARM и стандартизированный консорциумом Khronos Group. Он в первую очередь предназначен для использования в приложениях с 3D-графикой реального времени, особенно в мобильных, встраиваемых системах, а также все чаще на настольных компьютерах и игровых консолях. Ключевой особенностью ASTC является его адаптивность, позволяющая использовать широкий диапазон битрейтов (от 8 бит на пиксель до менее чем 1 бита на пиксель) и переменные размеры блоков (например, 4x4, 5x4, 5x5 и вплоть до 12x12 пикселей). Эта гибкость позволяет разработчикам точно настраивать баланс между качеством изображения и объемом занимаемой памяти, что делает формат подходящим для различных типов текстур, таких как диффузные карты, карты нормалей, карты зеркальности и элементы пользовательского интерфейса. ASTC поддерживает 2D-текстуры, 3D-текстуры и кубические карты (cubemaps), а также данные как с низким (LDR), так и с высоким (HDR) динамическим диапазоном, включая различные цветовые пространства, такие как sRGB и линейное. Основные преимущества формата включают превосходное визуальное качество при низких битрейтах по сравнению со многими устаревшими форматами сжатия, снижение требований к пропускной способности памяти и повышение энергоэффективности на совместимом оборудовании. ASTC широко поддерживается современными графическими API, такими как OpenGL ES, Vulkan и DirectX 12 Ultimate, что делает его предпочтительным выбором для высокопроизводительного графического рендеринга.