Volver al blog
Formatos

Formato KTX2: el futuro de la compresión de texturas moderna

22 lectura mínima

KTX2 (Khronos Texture 2.0) representa la próxima evolución en los formatos de contenedores de texturas, diseñado específicamente para API de gráficos modernos como Vulkan, OpenGL y el estándar emergente WebGPU. Como sucesor del formato KTX original, KTX2 introduce funciones revolucionarias que incluyen la supercompresión Basis Universal, un sofisticado sistema de descriptor de formato de datos (DFD) y soporte nativo para funciones de textura avanzadas que eran imposibles o ineficientes en formatos anteriores. Con su énfasis en la compatibilidad universal de GPU, relaciones de compresión superiores y amplias capacidades de metadatos, KTX2 se ha convertido en el estándar definitivo para activos de textura en aplicaciones gráficas de próxima generación que van desde juegos AAA hasta experiencias basadas en web.

¿Qué es el formato KTX2?

KTX2 es un formato de contenedor de texturas moderno que se basa en la base de su predecesor al tiempo que introduce capacidades transformadoras para los flujos de trabajo gráficos contemporáneos. A diferencia de KTX1, que fue diseñado principalmente para compatibilidad con OpenGL, KTX2 se basa en las necesidades de API modernas como Vulkan y WebGPU, y presenta una arquitectura completamente rediseñada que admite la supercompresión Basis Universal, manejo avanzado de metadatos a través del sistema Data Format Descriptor y almacenamiento eficiente de tipos de texturas complejos que incluyen matrices, texturas 3D y mapas de cubos.

La innovación más significativa del formato es su integración nativa con la supercompresión Basis Universal, lo que permite almacenar texturas en formatos intermedios altamente comprimidos (ETC1S y UASTC) que se pueden transcodificar a cualquier formato específico de GPU bajo demanda. Este enfoque de compresión universal elimina la necesidad de mantener múltiples variantes de formato de textura para diferentes plataformas, lo que reduce drásticamente los requisitos de almacenamiento de activos y simplifica la implementación multiplataforma mientras mantiene una alta calidad visual en todos los dispositivos de destino.

KTX2 también presenta un sofisticado sistema de metadatos a través del Descriptor de formato de datos (DFD), que proporciona información detallada y extensible sobre formatos de datos de textura, diseños de canales y parámetros de compresión. Este rico ecosistema de metadatos permite la detección automática de formatos, una configuración adecuada de muestreo de texturas y una integración perfecta con canales de gráficos modernos, lo que convierte a KTX2 en una opción ideal para aplicaciones que requieren un control de texturas preciso y la máxima compatibilidad entre diversas plataformas de hardware.

La evolución de KTX1 a KTX2

La transición de KTX1 a KTX2 representa más que una simple actualización incremental: es una reinvención fundamental de cómo se deben almacenar, comprimir y utilizar los datos de textura en las aplicaciones gráficas modernas:

KTX1: La Fundación (2011-2020)

KTX1 estableció el concepto de un formato de contenedor de texturas universal para aplicaciones OpenGL y OpenGL ES. Proporcionó una estructura básica para almacenar texturas comprimidas con metadatos esenciales, admitiendo formatos de compresión comunes como ETC, PVRTC y BCn.

Si bien fue revolucionario para su época, KTX1 tenía limitaciones importantes: estructura de encabezado simple, capacidades básicas de metadatos, sin soporte de supercompresión y compatibilidad limitada con las funciones modernas de GPU. Sirvió bien para los flujos de trabajo tradicionales de OpenGL, pero tuvo problemas para satisfacer las demandas de las aplicaciones modernas basadas en Vulkan y los escenarios de implementación multiplataforma.

El período de transición (2018-2020)

A medida que Vulkan fue adoptando y los gráficos móviles evolucionaron, quedó claro que se necesitaba un nuevo enfoque. El Grupo Khronos comenzó a desarrollar KTX2 con el aporte de las principales empresas de gráficos, centrándose en la compresión universal, metadatos mejorados y compatibilidad API moderna.

Este período vio el surgimiento de Basis Universal como una solución de supercompresión, el desarrollo del sistema Data Format Descriptor y una amplia colaboración de la industria para garantizar que KTX2 satisficiera las diversas necesidades de los desarrolladores de juegos, desarrolladores web y profesionales de gráficos en todas las plataformas.

KTX2: El estándar moderno (2020-presente)

KTX2 representa una revisión arquitectónica completa diseñada específicamente para los flujos de trabajo gráficos modernos. Con soporte nativo de Vulkan, integración de Basis Universal, metadatos sofisticados a través de DFD y compatibilidad de plataforma universal, aborda todas las limitaciones de KTX1 al mismo tiempo que agrega nuevas y poderosas capacidades.

El formato se ha convertido rápidamente en el estándar de facto para nuevos proyectos, especialmente aquellos dirigidos a Vulkan, WebGPU y la implementación multiplataforma. Su combinación de compresión superior, metadatos extensos y compatibilidad universal con GPU lo convierte en la opción ideal para aplicaciones gráficas modernas.

Características clave del formato KTX2

Supercompresión universal básica

Soporte nativo para la supercompresión Basis Universal que permite la compresión de texturas universal con formatos ETC1S y UASTC.

Supercompresión avanzada

Soporte para esquemas de supercompresión Zstandard y ZLIB para una reducción adicional del tamaño de los archivos

Descriptor de formato de datos (DFD)

Sofisticado sistema de metadatos que proporciona información de formato detallada y capacidades de descriptores extensibles.

Compatibilidad universal de GPU

Funciona perfectamente en todas las GPU y API modernas sin necesidad de variantes de formato específico

Soporte enriquecido de metadatos

Metadatos completos que incluyen espacio de color, orientación, información del escritor y pares clave-valor personalizados.

Vulkan y WebGPU nativo

Diseñado específicamente para API modernas con carga directa de GPU y características de rendimiento óptimas

Supercompresión universal básica

En el corazón de la innovación de KTX2 está su integración con la supercompresión Basis Universal, que proporciona dos enfoques de compresión complementarios optimizados para diferentes casos de uso:

ETC1S (tasa de bits baja)

Formato altamente comprimido optimizado para un tamaño de archivo mínimo manteniendo una calidad visual aceptable. Ideal para aplicaciones web, juegos móviles y entornos con ancho de banda limitado.

Relación de compresión: 8-12 veces más pequeño que PNG sin comprimir

Buena calidad visual con algunos artefactos de compresión, adecuada para texturas difusas y elementos de fondo.

Admite transparencia binaria (canal alfa de 1 bit)

Lo mejor para contenido web, aplicaciones móviles y escenarios donde se prioriza el tamaño del archivo sobre la máxima fidelidad visual.

UASTC (Alta Calidad)

Formato de compresión de alta calidad comparable al BC7 en calidad visual y al mismo tiempo ofrece compatibilidad universal. Perfecto para contenidos premium y aplicaciones que requieren la máxima fidelidad visual.

Relación de compresión: 3-6 veces más pequeño que PNG sin comprimir

Excelente calidad visual con artefactos mínimos, adecuada para texturas de héroes y contenido detallado.

Admite canal alfa completo de 8 bits con gradientes suaves

Lo mejor para juegos AAA, aplicaciones de alta gama y escenarios donde se prioriza la calidad visual sobre el tamaño del archivo

Estructura de archivos KTX2

KTX2 presenta una estructura de archivos sofisticada diseñada para un análisis eficiente y compatibilidad universal:

Encabezado de archivo

Contiene información esencial que incluye número mágico, identificador de formato, dimensiones, compensaciones de metadatos y detalles de formato.

Índice de nivel

Proporciona acceso aleatorio eficiente a niveles de mapas MIP y matrices de texturas, lo que permite la carga selectiva de niveles MIP específicos.

Descriptores de formato de datos

Información de formato detallada que describe el diseño de los datos de textura, la configuración del canal y los parámetros de compresión.

Datos de valor clave

Sistema de metadatos extensible para almacenar orientación, espacio de color, información del escritor y datos de aplicaciones personalizadas.

Datos globales de supercompresión

Datos globales necesarios para los esquemas de supercompresión, incluidos los datos de imágenes de Basis Universal y las tablas de compresión.

Niveles de mapa MIP

Datos de imagen comprimidos para cada nivel de mapa MIP, potencialmente supercomprimidos usando Zstandard u otros esquemas

Datos de imagen

Datos de textura comprimidos reales organizados por nivel de mapa MIP y segmento de matriz, con supercompresión adicional opcional

Sistema de descriptor de formato de datos (DFD)

El sistema DFD es una de las innovaciones más poderosas de KTX2 y proporciona información de formato completa:

Descripción del formato

Especificación detallada del formato de datos de textura, incluido el tipo de compresión, la profundidad de bits y la configuración del canal.

Mapeo de canales

Mapeo preciso de canales de datos a canales de color (R, G, B, A) y su interpretación (sRGB, lineal, etc.)

Diseño de datos

Información sobre la organización de datos, incluido el tamaño del bloque, el diseño del texto y la estructura del bloque de compresión.

Información de muestra

Detalles sobre muestras individuales, incluida la profundidad de bits, el desplazamiento y la interpretación dentro de cada texto.

Formatos de compresión admitidos

KTX2 admite prácticamente todos los formatos de compresión de texturas modernos a través de su diseño de contenedor universal:

ETC (compresión de textura Ericsson)

Formatos de compresión optimizados para dispositivos móviles, incluidas las variantes ETC1, ETC2 y EAC. Excelente para Android y aplicaciones móviles.

ASTC (Compresión de textura escalable adaptativa)

Compresión flexible basada en bloques que admite varios tamaños de bloques y niveles de calidad. Ideal para plataformas móviles y modernas.

BCn (compresión de bloques)

Formatos de compresión compatibles con DirectX, incluidos BC1-BC7. Perfecto para aplicaciones de consola y escritorio de Windows.

PVRTC (Compresión de textura PowerVR)

Formatos de compresión específicos de PowerVR optimizados para dispositivos iOS y GPU basadas en PowerVR.

Formatos sin comprimir

Compatibilidad con formatos sin comprimir, incluidos R8, RG8, RGB8, RGBA8 y variantes de punto flotante para contenido HDR.

Esquemas de supercompresión

KTX2 admite múltiples esquemas de supercompresión para una reducción adicional del tamaño de los archivos:

Zestándar

Compresión de propósito general aplicada a datos de textura ya comprimidos para una reducción de tamaño adicional

ZLIB

Esquema de compresión tradicional que proporciona compatibilidad con herramientas y canalizaciones existentes.

Base Universal

Esquema de supercompresión primaria que utiliza formatos intermedios ETC1S o UASTC que se pueden transcodificar a cualquier formato de GPU.

Soporte enriquecido de metadatos

KTX2 incluye metadatos completos para una interpretación adecuada de la textura:

Orientación de textura

Información sobre la orientación de la textura, el sistema de coordenadas y las transformaciones necesarias para una visualización adecuada

Información del espacio de color

Espacio de color y función de transferencia de datos para una reproducción precisa del color en diferentes dispositivos de visualización

Información del escritor

Metadatos sobre la herramienta o aplicación que creó la textura, incluida la versión y los parámetros de creación.

Configuración de compresión

Información detallada sobre los parámetros de compresión, la configuración de calidad y las opciones de codificación utilizadas.

Colores primarios

Especificación de colores primarios utilizados en la textura para una conversión precisa del espacio de color

Función de transferencia

Transfiera información de la función para una conversión lineal/sRGB y un mapeo de tonos adecuados

Flujos de trabajo de texturas modernos

KTX2 permite flujos de trabajo optimizados para el desarrollo de gráficos modernos:

1

Creación de activos

Cree texturas de origen de alta calidad en formatos estándar (PNG, TGA, EXR) con el espacio de color y la resolución adecuados.

2

Codificación KTX2

Codifique texturas en KTX2 utilizando la compresión Basis Universal con la configuración de calidad adecuada para las plataformas de destino.

3

Control de calidad

Valide la calidad de la compresión y la fidelidad visual en diferentes plataformas de destino y niveles de compresión.

4

Optimización de tamaño

Ajuste la configuración de compresión y la supercompresión para equilibrar la calidad y el tamaño del archivo para casos de uso específicos.

5

Validación de formato

Verifique que los archivos KTX2 cumplan con todos los requisitos e incluyan los metadatos necesarios para las plataformas de destino

6

Implementación multiplataforma

Implemente archivos KTX2 únicos que funcionen en todas las plataformas de destino sin variantes de formato específico

Ventajas del formato KTX2

API moderna nativa

Diseñado específicamente para Vulkan y WebGPU con rendimiento óptimo y soporte de funciones

Compatibilidad universal

El formato único funciona en todas las plataformas y GPU sin necesidad de múltiples variantes de formato.

Compresión superior

Basis Universal proporciona excelentes relaciones de compresión manteniendo una alta calidad visual

Compatible con versiones anteriores

Existen herramientas y flujos de trabajo para convertir de formatos heredados a KTX2 moderno

Diseño extensible

El sistema DFD permite futuras extensiones de formato y requisitos de metadatos personalizados

A prueba de futuro

El desarrollo activo y la adopción industrial garantizan la viabilidad y el soporte a largo plazo.

Casos de uso ideales

Aplicaciones vulcanas

Soporte nativo para aplicaciones Vulkan modernas que requieren rendimiento óptimo y compatibilidad de funciones.

Desarrollo WebGPU

Perfecto para aplicaciones web de próxima generación que utilizan WebGPU para gráficos de alto rendimiento

Desarrollo de juegos

Los juegos AAA e independientes se benefician de la compresión universal y la compatibilidad multiplataforma

Aplicaciones móviles

Optimizado para plataformas móviles con compresión eficiente y diseño de datos compatible con GPU

Experiencias web

Aplicaciones web que requieren gráficos de alta calidad con un uso eficiente del ancho de banda

Visualización empresarial

Aplicaciones profesionales de visualización y CAD que requieren un control preciso de la textura.

KTX2 frente a otros formatos

Comprender cómo se compara KTX2 con otros formatos de textura:

KTX2 frente a KTX1

KTX2 ofrece supercompresión Basis Universal, metadatos DFD sofisticados y soporte API moderno, mientras que KTX1 proporciona funcionalidad de contenedor básica para aplicaciones OpenGL con características limitadas.

KTX2 frente a DDS

KTX2 proporciona compatibilidad de plataforma universal y compresión superior, mientras que DDS está centrado en Windows con opciones de compresión y capacidades de metadatos limitadas.

KTX2 y Basis Universal

KTX2 es un formato contenedor que utiliza Basis Universal para la compresión, mientras que Basis Universal es el algoritmo de compresión en sí. KTX2 proporciona metadatos adicionales y funciones de formato

KTX2 frente a ASTC

KTX2 es un contenedor que puede incluir datos comprimidos ASTC, mientras que ASTC es un formato de compresión específico. KTX2 proporciona compatibilidad universal más allá de las soluciones exclusivas de ASTC

Herramientas y ecosistema KTX2

toktx (herramienta de textura KTX2)

Herramienta de línea de comandos para crear y manipular archivos KTX2 compatible con todos los formatos de compresión y esquemas de supercompresión.

Suite de software KTX

Conjunto completo de herramientas que incluyen utilidades de validación, conversión e inspección para flujos de trabajo KTX2

SDK de Vulcano

Compatibilidad nativa con KTX2 en Vulkan SDK con carga optimizada y compatibilidad con GPU

Implementaciones de WebGPU

Soporte creciente para KTX2 en navegadores WebGPU y marcos para gráficos web de próxima generación

Motor de unidad

Unity admite la importación KTX2 y la carga en tiempo de ejecución para aplicaciones móviles y de escritorio multiplataforma

Motor irreal

Unreal Engine proporciona soporte KTX2 para canalizaciones de renderizado modernas e implementación multiplataforma

Mejores prácticas para KTX2

Utilice la compresión ETC1S para contenido web y aplicaciones móviles donde el tamaño del archivo es fundamental

Elija la compresión UASTC para contenido premium y aplicaciones que requieren la máxima calidad visual

Incluya siempre metadatos del espacio de color adecuado para una reproducción precisa del color en todos los dispositivos

Utilice cadenas de mapas MIP para un filtrado de texturas adecuado a diferentes distancias de visualización

Considere la supercompresión con Zstandard para reducir aún más el tamaño de los archivos en texturas grandes.

Valide los archivos KTX2 con la herramienta ktxinfo antes de la implementación para garantizar la compatibilidad

Utilice dimensiones de textura adecuadas (potencia de dos) para un rendimiento óptimo de la GPU

Incluya metadatos de orientación para garantizar una visualización adecuada de la textura en diferentes sistemas de coordenadas.

Migración a KTX2

Estrategias para migrar activos de textura existentes a KTX2:

Desde KTX1

Utilice la herramienta toktx para convertir archivos KTX1 a KTX2 con supercompresión Basis Universal para una compresión mejorada y soporte API moderno

Desde DDS

Convierta archivos DDS a KTX2 utilizando la configuración de compresión adecuada para mantener la calidad visual y al mismo tiempo obtener compatibilidad multiplataforma

De imágenes PNG/fuente

Codifique directamente imágenes de origen en KTX2 con compresión Basis Universal para una calidad y tamaño de archivo óptimos

Creación de variantes universales básicas

Genere variantes ETC1S y UASTC para admitir diferentes requisitos de calidad y tamaño de archivo.

Consideraciones de rendimiento

Comprender las características de rendimiento de KTX2:

Rendimiento de compresión

Los tiempos de codificación varían según el formato: ETC1S es rápido, UASTC es más lento pero proporciona mayor calidad

Rendimiento de la GPU

La carga directa de GPU proporciona un rendimiento óptimo con una sobrecarga de CPU y un uso de memoria mínimos.

Uso de memoria

Uso eficiente de la memoria con soporte de transmisión y carga selectiva de niveles de mapas MIP

Rendimiento de carga

Carga rápida con una sobrecarga mínima de transcodificación en GPU y plataformas modernas

El futuro de KTX2

La hoja de ruta futura para el desarrollo de KTX2:

Compresión mejorada por IA

Integración de técnicas de aprendizaje automático para mejorar la calidad y el rendimiento de la compresión.

Compresión en tiempo real

Compresión de texturas en tiempo real para generación de contenido dinámico y texturas procedimentales.

Procesamiento basado en la nube

Servicios en la nube para flujos de trabajo de optimización y procesamiento de texturas a gran escala

Soporte multiplataforma mejorado

Ampliación continua del soporte de plataforma y compatibilidad de GPU en todo el hardware emergente.

Conclusión

KTX2 representa un importante avance en la tecnología de contenedores de texturas, abordando las complejas necesidades de las aplicaciones gráficas modernas a través de su innovadora combinación de supercompresión Basis Universal, sofisticados sistemas de metadatos y compatibilidad de plataforma universal. A medida que el desarrollo de gráficos continúa evolucionando hacia Vulkan, WebGPU y escenarios de implementación multiplataforma, KTX2 proporciona la base para flujos de trabajo de texturas eficientes y de alta calidad que escalan desde dispositivos móviles hasta PC para juegos de alta gama.

Para los desarrolladores que inician nuevos proyectos o planean migrar activos existentes, KTX2 ofrece una solución preparada para el futuro que equilibra la eficiencia de la compresión, la calidad visual y la flexibilidad de implementación. El amplio soporte de la industria, el desarrollo activo y el ecosistema integral de herramientas del formato garantizan que seguirá siendo el estándar para el almacenamiento y distribución de texturas en los años venideros.

Al adoptar KTX2 hoy, los desarrolladores pueden optimizar sus flujos de trabajo de texturas, reducir los requisitos de almacenamiento de activos y garantizar que sus aplicaciones estén listas para la próxima generación de API y hardware de gráficos. Ya sea que esté creando aplicaciones web, juegos móviles o títulos AAA, KTX2 proporciona las herramientas y capacidades necesarias para ofrecer experiencias visuales excepcionales en todas las plataformas.

Referencias y lecturas adicionales

Explore estos recursos para una comprensión más profunda del formato KTX2:

Pruebe nuestras herramientas