Sobre el proyecto

## Descripción general Este es el repositorio oficial de Khronos para KTX (Khronos Texture), un formato de contenedor ligero para texturas usadas con OpenGL, Vulkan y otras API de GPU. Un archivo KTX almacena todos los parámetros necesarios para la carga de texturas, y un único archivo puede contener desde una simple textura 2D de nivel base hasta una textura de arreglo de cubemap con mipmaps. ## Qué incluye el software - **libktx** — una pequeña biblioteca en C para leer y escribir archivos KTX y para instanciar texturas de OpenGL, OpenGL ES y Vulkan a partir de ellos. - **libktx.js / libktx.wasm** — compilación WebAssembly de libktx con un envoltorio JavaScript. - **msc_basis_transcoder.js / .wasm** — transcodificador WebAssembly más envoltorio JavaScript para formatos Basis Universal, destinado a analizadores KTX escritos en JavaScript. - **libktx.jar y libktx-jni** — envoltorio Java y biblioteca de interfaz nativa. - **pyktx** — envoltorio Python. - **ktx** — una herramienta de línea de comandos genérica para gestionar archivos KTX2, con subcomandos: compare, convert, create, deflate, extract, encode, transcode, info, validate y help. ## Formatos de textura Las texturas contenidas pueden estar en un formato Basis Universal, en formatos con compresión por bloques soportados por las API y extensiones de la familia OpenGL y Vulkan, o en un formato sin compresión de un solo plano. Basis Universal actualmente cubre LZ/ETC1S (compresión por bloques más supercompresión) y UASTC (un formato con compresión por bloques). Los formatos distintos de LZ/ETC1S pueden supercomprimirse con Zstd y ZLIB. ## Distribución y documentación Los paquetes binarios de las herramientas, la biblioteca y los encabezados de desarrollo se publican en la página Releases del proyecto, que también aloja paquetes que contienen los envoltorios JavaScript y los binarios .wasm. La documentación generada por Doxygen que cubre la API y el uso de las herramientas está disponible en línea. Los instaladores de la versión de escritorio incluyen múltiples componentes; por defecto solo se instalan la herramienta ktx y libktx en tiempo de ejecución, y otros componentes como los encabezados de desarrollo y el envoltorio Java pueden seleccionarse mediante la opción Customize del instalador. ## Notas del repositorio Git LFS (versión 1.1 o posterior) debe estar instalado para obtener completamente el repositorio tras clonarlo; si faltaba en la primera comprobación, ejecute `git lfs checkout` después. Las pruebas de conformidad para la herramienta de línea de comandos ktx se encuentran en un repositorio separado KTX-Software-CTS, incluido como submódulo git que no es necesario por defecto para compilar las bibliotecas o herramientas. Algunos archivos usan expansión de palabra clave `$Date$` mediante filtros smudge/clean, configurados a través de scripts install-gitconfig y scripts smudge_date para shells tipo Unix y Windows PowerShell. Los scripts auxiliares incluyen `scripts/gk` para buscar en el código fuente omitiendo directorios de compilación, .git, external y tests/cts, y `scripts/ktx-compare-git`, un envoltorio que permite usar `ktx compare` como controlador de git diff para archivos KTX2. El soporte se gestiona a través de GitHub Discussions, y los problemas se reportan mediante GitHub issues. La información sobre contribución, licencias y compilación está documentada en los archivos CONTRIBUTING, LICENSE y BUILDING.