Google двигает виртуальную реальность вперед: стал доступен исходный код компрессора для текстур

Google открыла доступ к исходному коду своего ETC2-компрессора, который называется ETC2Comp. Также один из разработчиков инструмента написал статью, в которой описываются принципы работы компрессора и его преимущества. Ниже мы приведём её основные тезисы. 

Виртуальная реальность, текстуры и ETC2

Одной из крупнейших проблем при разработке VR-игр является работа с ETC-текстурами. Дело в том, что  кодирование текстур занимает очень много времени. Например, один из самых популярных инструментов, Mali GPU Texture Compression, сжимает один файл в среднем за 640 секунд. А если учесть, что текстур в играх много, времени уходит немало.

ETC2Comp: быстрый ETC2-кодировщик

Для того, чтобы решить эту проблему, несколько разработчиков из Google объединились с инженерами в Blue Shift Inc. Результатом их работы стал ETC2Comp. Его можно использовать на OS X, Linux и Windows, а также в качестве встраиваемой библиотеки. Ниже мы приведём графики, в которых сравниваются инструменты от Mali и Google.

Будет достаточно сказать, что среднее время сжатия составило 10 секунд.

Почему ETC2Comp такой быстрый?

Если не вдаваться в подробности, прироста скорости удалось достичь по следующим причинам:

  1. Направленный поиск блоков: вместо поиска «в лоб» ETC2Comp использует более узконаправленный поиск, нацеленный на блоки определённого типа.
  2. Расширенные настройки: Mali предлагает только быстрый и медленный режимы, а ETC2Comp позволяет вручную настроить производительность.
  3. Большое количество потоков.

Пункт 1 более подробно разбирается в статье от разработчиков.

Заключение

ETC2Comp был создан для облегчения труда VR- и геймдев-разработчиков. Инструмент объединяет в себе надёжность, свежие технологии и немножко тёмной магии 🙂

Источник: medium.com