Dans les deux sens, et c'est tout l'intérêt
Beaucoup d'outils compressent un glTF en Draco. Presque aucun ne fait le chemin inverse — et c'est justement là que les gens se retrouvent bloqués. Les anciennes versions de Babylon.js, plusieurs importateurs glTF d'Unity et un certain nombre d'outils DCC ne savent tout simplement pas lire KHR_draco_mesh_compression. Si un client vous envoie un GLB compressé et que votre pipeline le refuse, c'est de décompression que vous avez besoin, pas de compression supplémentaire.
Cet outil fait les deux, dans le navigateur, sans rien envoyer.
Draco face à Meshopt
Ils résolvent le même problème différemment, et le bon choix dépend de ce que vous cherchez à optimiser.
Draco utilise un codage entropique tenant compte de la connectivité et produit les fichiers les plus légers — en général 80 à 95 % de moins que les données de sommets brutes. Le prix à payer, c'est le temps de décodage : le décodeur est un module WebAssembly conséquent, et décompresser un gros maillage coûte de vraies millisecondes que l'utilisateur passe devant un écran vide.
Meshopt utilise des filtres au niveau des octets et un codec bien plus simple. Les fichiers sont légèrement plus lourds qu'avec Draco, mais le décodage est environ dix fois plus rapide, et le format est conçu pour que le décodage se superpose au streaming. Pour un site où le temps jusqu'au premier pixel compte plus que le poids transféré, Meshopt l'emporte généralement.
Le .drc autonome, c'est du Draco sans aucune enveloppe glTF — de la géométrie seule, sans matériaux, sans textures, sans hiérarchie. Utile pour les pipelines de recherche et les chargeurs sur mesure, inutile comme format de livraison d'un asset texturé.
C'est la quantification qui coûte en qualité
Les deux codecs quantifient : les attributs en virgule flottante deviennent des entiers en virgule fixe sur une profondeur de bits choisie. C'est destructif par construction, et chaque attribut a sa propre tolérance.
- Position — 14 bits est visuellement sans perte dans presque tous les cas. À 12, on peut voir les sommets s'aligner sur une grille sur les grands modèles ; à 10, c'est flagrant.
- Normales — 10 bits est sûr. Les artefacts apparaissent sous forme de bandes sur les surfaces à ombrage lisse.
- Coordonnées de texture — 12 bits. En dessous de 10, les UV dérivent et les textures se mettent visiblement à nager sur la surface.
- Couleur — 8 bits correspond à ce que contenaient déjà la plupart des couleurs de sommets.
Ne compressez pas deux fois
Ré-encoder un fichier déjà en Draco revient à le décoder, à re-quantifier des valeurs déjà quantifiées, puis à ré-encoder. Chaque passage perd une précision qui ne revient jamais. L'outil détecte la compression existante au chargement et vous avertit — si vous avez besoin d'autres réglages, décompressez d'abord, puis compressez une seule fois à partir du résultat propre.
Ce qu'il ne réduira pas
Les codecs de géométrie ne font rien aux textures. Si votre GLB de 40 Mo contient 38 Mo de PNG en 4K, Draco vous fera gagner quelques centaines de kilo-octets et vous conclurez que la compression ne sert à rien. Le panneau de résultats isole les octets de géométrie proprement dits, pour que vous voyiez ce que le codec a réellement obtenu, indépendamment du reste du fichier.
Confidentialité
Draco et Meshopt s'exécutent tous deux en WebAssembly dans votre navigateur. Rien n'est envoyé.
Tiny Online Tools







