Skip to content

Compresseur de textures KTX2

Convertissez une texture PNG, JPG ou WebP en KTX2 (avec Basis Universal), directement dans votre navigateur. Les textures KTX2 restent compressées par le GPU dans la mémoire vidéo, ce qui réduit bien davantage l’utilisation de la VRAM et le temps de chargement des jeux web que les formats d’image ordinaires. Aucun fichier n’est envoyé : l’encodage s’effectue localement.

Pourquoi utiliser KTX2 pour les jeux web

Une image PNG ou JPG doit être entièrement décodée en pixels bruts, puis transférée au GPU, où elle occupe de la VRAM sans compression. Une texture RGBA de 2048×2048 occupe 16 Mo en mémoire, quelle que soit la taille du fichier PNG d’origine. Avec la supercompression Basis Universal, une texture KTX2 reste compressée jusque dans la VRAM grâce à son transcodage vers un format natif du GPU (BC sur ordinateur, ASTC ou ETC2 sur mobile), ce qui réduit généralement la mémoire utilisée par les textures de 4 à 8 fois. Pour un jeu dans le navigateur, où chaque mégaoctet et chaque milliseconde de chargement comptent, le gain est considérable.

KTX2 est le format conteneur standardisé par Khronos. Il est pris en charge par les principaux moteurs web : Three.js, Babylon.js et PlayCanvas fournissent tous un chargeur KTX2.

UASTC ou ETC1S : lequel choisir

Basis Universal propose deux modes de compression, tous deux pris en charge par cet outil :

UASTC est le mode haute qualité. Il préserve bien les détails, ce qui en fait le meilleur choix pour les ressources principales, les normal maps et tout élément où des artefacts seraient visibles. Les fichiers sont plus volumineux, mais vous pouvez ajouter la supercompression Zstandard pour réduire la taille du téléchargement (le fichier est décompressé vers le format GPU au chargement).

ETC1S est le mode produisant les fichiers les plus petits. Il applique une compression beaucoup plus forte, réglable à l’aide d’un curseur de qualité. Il convient donc parfaitement à la majorité de vos textures lorsque la taille minimale importe davantage qu’une fidélité parfaite, par exemple pour l’interface, les accessoires et les détails d’arrière-plan.

Une approche courante consiste à utiliser ETC1S pour la plupart des textures et UASTC pour les quelques textures qui l’exigent.

Mode d’emploi

  1. Déposez un fichier PNG, JPG ou WebP dans la zone ci-dessus (ou cliquez pour le sélectionner). Il ne quitte jamais votre navigateur.
  2. Choisissez UASTC pour privilégier la qualité ou ETC1S pour réduire la taille, puis réglez la qualité.
  3. Activez les mipmaps pour les textures observées à différentes distances et laissez sRGB activé pour les textures de couleur (désactivez-le pour les normal maps et les textures de données).
  4. Cliquez sur Encoder en KTX2, vérifiez le gain de taille, puis téléchargez le fichier .ktx2.

Vous devez convertir tout un dossier de textures ? L’onglet Lot permet de convertir jusqu’à 10 images à la fois. Cette fonctionnalité est gratuite : il suffit de vous connecter pour la déverrouiller, et vos images ne quittent toujours jamais votre navigateur.

Questions fréquentes

Qu’est-ce qu’un fichier KTX2 ?

KTX2 est un format conteneur de Khronos destiné aux textures GPU. Associé à la supercompression Basis Universal, un fichier KTX2 reste compressé dans la mémoire vidéo grâce à son transcodage, au moment du chargement, vers un format GPU pris en charge par l’appareil (BC, ASTC ou ETC2). C’est pourquoi il économise bien plus de mémoire qu’un fichier PNG ou JPG, qui finit décompressé dans la VRAM.

Comment convertir un fichier PNG en KTX2 ?

Déposez le fichier PNG dans l’outil ci-dessus, choisissez UASTC (qualité) ou ETC1S (fichier plus petit), cliquez sur Encoder en KTX2, puis téléchargez le fichier. L’opération s’effectue entièrement dans votre navigateur avec Basis Universal compilé en WebAssembly : l’image n’est donc jamais envoyée.

Dois-je utiliser UASTC ou ETC1S ?

Utilisez UASTC pour les textures où la qualité est prioritaire, comme les illustrations principales et les normal maps, puis ajoutez la supercompression Zstandard pour réduire la taille du téléchargement. Utilisez ETC1S pour la majorité de vos textures lorsque la petite taille du fichier importe davantage que la perfection des détails. De nombreux jeux combinent les deux.

KTX2 fonctionne-t-il avec Three.js, Babylon.js et PlayCanvas ?

Oui. Ces trois grands moteurs web fournissent un chargeur KTX2 qui transcode la texture vers un format natif du GPU au moment du chargement. Consultez notre outil de vérification WebGL et WebGPU pour savoir quels formats de textures compressées (BC, ASTC, ETC2) sont pris en charge par l’appareil actuel.

Puis-je convertir plusieurs textures à la fois ?

Oui. Passez à l’onglet Lot pour convertir jusqu’à 10 images en une seule fois. Le mode Lot est gratuit : il suffit de vous connecter pour le déverrouiller. Comme le mode individuel, il s’exécute entièrement dans votre navigateur et aucun fichier n’est envoyé.

Ce convertisseur KTX2 est-il gratuit et confidentiel ?

Oui. Il est gratuit et s’exécute entièrement dans votre navigateur. L’image est encodée localement avec WebAssembly et n’est jamais envoyée à un serveur.

Ressources associées