Jump to content

Сжатие текстур

Сжатие текстур — это специализированная форма сжатия изображений , предназначенная для хранения карт текстур в системах рендеринга трехмерной компьютерной графики . В отличие от обычных алгоритмов сжатия изображений, алгоритмы сжатия текстур оптимизированы для произвольного доступа .

Сжатие текстур можно применять для уменьшения использования памяти во время выполнения. Данные текстур часто являются крупнейшим источником использования памяти в мобильном приложении.

Компромиссы [ править ]

В своей основополагающей статье о сжатии текстур [1] Бирс, Агравала и Чадда перечисляют четыре особенности, которые отличают сжатие текстур от других методов сжатия изображений. Эти особенности:

Скорость декодирования
Крайне желательно иметь возможность рендеринга непосредственно из сжатых данных текстуры, поэтому, чтобы не влиять на производительность рендеринга, распаковка должна быть быстрой.
Произвольный доступ
Поскольку предсказать порядок, в котором средство рендеринга обращается к текселям , будет сложно, любая схема сжатия текстур должна обеспечивать быстрый произвольный доступ к распакованным данным текстуры. Это имеет тенденцию исключать многие более известные схемы сжатия изображений, такие как JPEG или кодирование длин серий .
Степень сжатия и качество изображения
В системе рендеринга сжатие с потерями может быть более терпимым, чем в других случаях использования. Некоторые библиотеки сжатия текстур, такие как crunch, [2] позволяют разработчику гибко находить компромисс между степенью сжатия и качеством изображения, используя такие методы, как оптимизация скорости искажения (RDO).
Скорость кодирования
Сжатие текстур более устойчиво к асимметричным скоростям кодирования/декодирования, поскольку процесс кодирования часто выполняется только один раз в процессе разработки приложения.

Учитывая вышеизложенное, большинство алгоритмов сжатия текстур включают в себя ту или иную форму с фиксированной скоростью с потерями векторного квантования небольших блоков пикселей фиксированного размера в небольшие блоки кодовых битов фиксированного размера, иногда с дополнительными дополнительными этапами предварительной и постобработки. Блочное усечение-кодирование — очень простой пример этого семейства алгоритмов.

Поскольку их шаблоны доступа к данным четко определены, распаковка текстур может выполняться «на лету» во время рендеринга как часть общего графического конвейера , что снижает общую пропускную способность и потребности в памяти во всей графической системе. Помимо текстурных карт, сжатие текстур также может использоваться для кодирования других типов карт рендеринга, включая карты рельефа и карты нормалей поверхности . Сжатие текстур также может использоваться вместе с другими формами обработки карт, такими как MIP-карты и анизотропная фильтрация .

Наличие [ править ]

Некоторыми примерами практических систем сжатия текстур являются сжатие текстур S3 (S3TC), PVRTC , сжатие текстур Ericsson (ETC) и адаптивное масштабируемое сжатие текстур (ASTC); они могут поддерживаться специальными функциональными блоками в современных графических процессорах .

OpenGL и OpenGL ES, реализованные на многих картах видеоускорителей и мобильных графических процессорах, могут поддерживать несколько распространенных видов сжатия текстур — обычно за счет использования расширений поставщиков.

Суперсжатие [ править ]

Сжатую текстуру можно дополнительно сжать, что называется «суперсжатием». Форматы сжатия текстур с фиксированной скоростью оптимизированы для произвольного доступа и гораздо менее эффективны по сравнению с форматами изображений, такими как PNG . Добавляя дальнейшее сжатие, программист может уменьшить разрыв в эффективности. Дополнительный слой может быть распакован процессором, чтобы графический процессор получил нормальную сжатую текстуру. [3] или в более новых методах, распакованных самим графическим процессором. Суперсжатие экономит тот же объем видеопамяти, что и обычное сжатие текстур, но экономит больше дискового пространства и размера загрузки. [4]

См. также [ править ]

Ссылки [ править ]

  1. ^ Эндрю Бирс; Маниш Агравала; Навин Чадда (1996), «Рендеринг на основе сжатых текстур» , Компьютерная графика, Proc. СИГРАФ : 373–378
  2. ^ «Crunch библиотека сжатия текстур с открытым исходным кодом» . Гитхаб . Проверено 13 сентября 2016 г.
  3. ^ Стром, Джейкоб; Веннерстен, Пер (5 августа 2011 г.). Сжатие без потерь уже сжатых текстур . HPG '11: Материалы симпозиума ACM SIGGRAPH по высокопроизводительной графике. стр. 177–182. дои : 10.1145/2018323.2018351 .
  4. ^ Крайцевский, Павел; Пратапа, Шрихари; Маноча, Динеш (11 ноября 2016 г.). «GST: сверхсжатые текстуры, декодируемые с помощью графического процессора» . Транзакции ACM с графикой . 35 (6): 1–10. дои : 10.1145/2980179.2982439 .

Внешние ссылки [ править ]

  • http://gamma.cs.unc.edu/GST/ GST: сверхсжатые текстуры, декодируемые графическим процессором.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 97f6f7729e78a7316bf0e29c9b83521f__1707233580
URL1:https://arc.ask3.ru/arc/aa/97/1f/97f6f7729e78a7316bf0e29c9b83521f.html
Заголовок, (Title) документа по адресу, URL1:
Texture compression - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)