PVRTC: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
Новая страница: «'''PVRTC''' и '''PVRTC2''' (PowerVR Texture Compression) — семейство алгоритмов сжатие текстур|сжатия...»
(нет различий)

Версия от 14:45, 1 октября 2019

PVRTC и PVRTC2 (PowerVR Texture Compression) — семейство алгоритмов сжатия текстур с потерей качества, используемое в технологиях, связанных с архитектурой PowerVR, SGX и Rogue. Теоретическое обоснование работы алгоритма было описано в работе Саймона Феннея (англ. Simon Fenney) «Сжатие текстур с помощью низкочастотной модуляции сигнала» (англ. Texture Compression using Low-Frequency Signal Modulation)[1] и опубликовано на Graphics Hardware 2003[2].

Основным отличием PVRTC от форматов сжатия текстур S3TC и Ericsson Texture Compression (ETC) заключается в том, что в нём используется билинейное увеличение и смешение двух изображений низкого разрешения. В дополнение к этому, PVRTC поддерживает данные ARGB в вариантах 2 бита на пиксель (2bpp) и 4 бита на пиксель (4bpp).

PVRTC используется в устройствах на базе Nokia N9, во всех поколениях устройств iOS (iPad, iPod Touch и iPad) и в некоторых устройствах Android с GPU PowerVR[3].

В PVRTC и PVRTC2 текстура представлена в виде блоков, занимающих 64 бита (в режиме 4bpp один блок будет занимать 4×4 пикселя, в 2bpp — 8×4). В некоторых реализациях доступ к блокам осуществляется с помощью кривой Мортона. В каждом блоке хранится шесть переменных: в PVRTC — это данные модуляции (32 бит), флаг punch-through alpha (1 бит), цвет A (15 бит), флаг прозрачности цвета A (1 бит), цвет B (14 бит) и флаг прозрачности цвета B (1 бит); в PVRTC2 — данные модуляции (32 бит), флаг модуляции (1 бит), цвет B (15 бит), флаг hard transition (1 бит), цвет A (15 бит) и флаг прозрачности (1 бит). В PVRTC флаги прозрачности цветов можно задавать независимо, когда как в PVRTC2 цвета A и B должны быть в одинаковом формате (либо RGB, либо RGBA).

Примечания

Ссылки