Об этом проекте
## Обзор
Это официальный репозиторий Khronos для KTX (Khronos Texture) — легковесного контейнерного формата для текстур, используемых с OpenGL, Vulkan и другими GPU API. Файл KTX хранит все параметры, необходимые для загрузки текстуры, и один файл может содержать что угодно: от простой 2D-текстуры базового уровня до текстурного массива кубических карт с мипмапами.
## Что включает программное обеспечение
- **libktx** — небольшая библиотека на C для чтения и записи файлов KTX и для создания на их основе текстур OpenGL, OpenGL ES и Vulkan.
- **libktx.js / libktx.wasm** — сборка libktx в WebAssembly с обёрткой на JavaScript.
- **msc_basis_transcoder.js / .wasm** — транскодер WebAssembly плюс обёртка на JavaScript для форматов Basis Universal, предназначенный для парсеров KTX, написанных на JavaScript.
- **libktx.jar и libktx-jni** — обёртка для Java и библиотека нативного интерфейса.
- **pyktx** — обёртка для Python.
- **ktx** — универсальный инструмент командной строки для управления файлами KTX2 с подкомандами: compare, convert, create, deflate, extract, encode, transcode, info, validate и help.
## Форматы текстур
Содержащиеся текстуры могут быть в формате Basis Universal, в блочно-сжатых форматах, поддерживаемых семейством OpenGL и API и расширениями Vulkan, либо в несжатом одноплоскостном формате. Basis Universal в настоящее время охватывает LZ/ETC1S (блочное сжатие плюс суперсжатие) и UASTC (блочно-сжатый формат). Форматы, отличные от LZ/ETC1S, могут быть суперсжаты с помощью Zstd и ZLIB.
## Распространение и документация
Бинарные пакеты инструментов, библиотеки и заголовков для разработки публикуются на странице Releases проекта, где также размещены пакеты, содержащие обёртки JavaScript и бинарные файлы .wasm. Документация, созданная Doxygen и охватывающая API и использование инструментов, доступна онлайн. Установщики для настольных систем включают несколько компонентов; по умолчанию устанавливаются только инструмент ktx и среда выполнения libktx, а другие компоненты, такие как заголовки для разработки и обёртка для Java, можно выбрать через опцию Customize в установщике.
## Примечания о репозитории
Для полного извлечения репозитория после клонирования необходимо установить Git LFS (версии 1.1 или более поздней); если он отсутствовал при первой проверке, выполните после этого `git lfs checkout`. Тесты соответствия для инструмента командной строки ktx находятся в отдельном репозитории KTX-Software-CTS, включённом как подмодуль git, который по умолчанию не требуется для сборки библиотек или инструментов. Некоторые файлы используют раскрытие ключевого слова `$Date$` через smudge/clean-фильтры, настраиваемые с помощью скриптов install-gitconfig и скриптов smudge_date для Unix-подобных оболочек и Windows PowerShell. Вспомогательные скрипты включают `scripts/gk` для поиска по исходному коду с пропуском каталогов сборки, .git, external и tests/cts, и `scripts/ktx-compare-git` — обёртку, позволяющую использовать `ktx compare` как драйвер git diff для файлов KTX2. Поддержка осуществляется через GitHub Discussions, а о проблемах сообщается через GitHub issues. Информация о внесении вклада, лицензировании и сборке описана в файлах CONTRIBUTING, LICENSE и BUILDING.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.