glTF binaire (.glb)
ISO/IEC StandardLe glTF binaire (GLB) est le format binaire autonome à fichier unique de la norme glTF 2.0, souvent présenté comme le « JPEG de la 3D » pour les graphiques 3D sur le Web, la réalité augmentée (RA) et les moteurs de jeu en temps réel.
Convertir GLTF en GLB
Outil de conversion gratuit de GLTF vers GLB dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.
Inspection et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers GLB en inspectant leur séquence initiale d'octets binaires :
Signature d'en-tête au niveau des octets (octets magiques)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers GLB en inspectant leur séquence initiale d'octets binaires :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
67 6C 54 46REPRÉSENTATION ASCII : glTF
Normalisation : ISO/IEC 12113:2022 / Norme ouverte Khronos
Spécifications techniques
| Architecture de conteneur | En-tête binaire de 12 octets ('glTF', version, longueur) suivi d'un bloc JSON (CHUNK 0) et d'un bloc de tampon binaire (CHUNK 1) |
| Compression | Compression de la géométrie des maillages avec DRACO, KHR_texture_basisu (textures GPU KTX2/Basis Universal) et ExtMeshopt |
| Ordre des octets | Ordre des octets petit-boutiste (Intel x86 / norme WebGL) |
| Espaces colorimétriques | Textures en sRGB, Canaux linéaires PBR de rugosité et de métallicité |
| Canaux et structure | Matériaux PBR (métallicité-rugosité), maillages déformés par squelette, cibles de morphing, animations, caméras et lumières |
| Dimensions maximales | Nombre de sommets et de triangles illimité (prend en charge les modèles de plusieurs gigaoctets) |
| Transparence | Couverture alpha (MASK), mélange alpha (BLEND) et transmission volumétrique |
| Prise en charge du traitement en continu | Fichier autonome unique avec des tables de décalage binaire permettant le chargement direct dans les VBO du GPU |
Matrice de comparaison technique : GLB face aux concurrents
| Attribut technique | GLB (Actuel) | GLTF | USDZ | FBX |
|---|---|---|---|---|
| Modèle de conditionnement | Fichier binaire unique autonome | JSON + fichiers .bin et fichiers de texture externes | Archive ZIP de schémas USD et textures | Format binaire/ASCII propriétaire d'Autodesk |
| Norme Web et RA | La prise en charge varie selon le logiciel. | La prise en charge varie selon le logiciel. | Norme de RA Apple iOS Quick Look | Norme d'importation dans les moteurs de jeu de bureau |
| Modèle de matériaux | Workflow PBR glTF normalisé basé sur la métallicité et la rugosité | PBR glTF standardisé | La prise en charge varie selon le logiciel. | Shaders propriétaires Phong/Lambert/PBR |
| Performances de lecture sur GPU | Instantanée (mappage mémoire direct) | Rapide (plusieurs requêtes réseau) | Rapide (entrées ZIP non compressées) | Lente (analyse syntaxique complexe requise) |
Modes de corruption courants et guide de restauration hexadécimale
Le modèle 3D s'affiche avec des textures manquantes ou des surfaces unies noires.
Cause initiale: Bloc de texture intégré corrompu ou référence manquante à une texture PBR selon le modèle métallicité-rugosité.
Récupération: Inspectez et réparez les décalages de blocs à l'aide de l'outil de conversion 3D File2File.app ou de glTF-Transform.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
Les analyseurs GLB traitent des blocs de texte JSON combinés à des tampons binaires arbitraires qui peuvent provoquer des dépassements de tampon si les longueurs des tampons ne correspondent pas.
Vecteurs d’attaque connus
- Lecture au-delà des limites du tampon lorsque byteOffset + byteLength de bufferView dépasse la longueur du bloc binaire.
- Lecture d'indice de sommet hors limites lors de l'exécution de drawElements WebGL.
- Déni de service via des boucles de décompression Draco pathologiques.
Bonnes pratiques de défense: Vérifiez strictement que toutes les plages d'octets des accesseurs et des bufferView se situent dans les limites du bloc binaire déclaré.
Origines historiques et jalons
Principaux avantages
- Format entièrement autonome : regroupe la géométrie 3D, les matériaux PBR, les textures (PNG/JPEG/KTX2) et les animations squelettiques dans un seul fichier.
- Transfert direct vers le GPU : les tampons de géométrie binaire correspondent aux dispositions mémoire de WebGL / Vulkan, sans surcharge d'analyse côté CPU.
- La norme incontestée pour WebGL, WebGPU, les aperçus de produits de commerce en ligne en 3D et la réalité augmentée mobile.
Limites techniques
- Le format binaire rend l'inspection ou la modification manuelle du texte difficile sans outils 3D spécialisés.
- Nécessite des bibliothèques de décompression Draco ou Basis Universal lors de l'utilisation d'extensions de compression avancées.
- Les plateformes Apple privilégient USDZ pour la RA native dans Quick Look sur iOS ; il faut donc convertir le format GLB.
Faits intéressants
- Les 4 premiers octets de chaque fichier GLB sont 0x67 0x6C 0x54 0x46 et correspondent aux caractères ASCII 'glTF'.
- Lorsque vous visualisez une basket 3D sur le navigateur Web d'un smartphone, vous regardez presque certainement un modèle GLB interactif.
- GLB a été conçu pour que le matériel graphique puisse lire les tampons de sommets directement depuis le disque vers la VRAM, sans transformation.
Foire aux questions techniques
Quelle est la différence entre glTF et GLB ?
glTF est un fichier JSON qui référence une géométrie .bin externe et des fichiers de texture d'image séparés. GLB prend cet ensemble entier et le condense en un fichier binaire unique et compact.
Comment puis-je convertir GLB en USDZ pour la RA Apple ?
Vous pouvez convertir des modèles GLB en fichiers USDZ prêts pour Apple en un seul clic à l'aide de File2File.app directement dans votre navigateur Web.
Puis-je ouvrir des fichiers GLB dans Blender ?
Oui. Blender inclut un importateur et exportateur glTF/GLB natif et haute performance intégré directement dans le logiciel.
Conversions associées à GLB
La conversion de ressources glTF JSON en conteneurs glTF Binary regroupe des manifestes texte séparés, des tampons binaires et des textures dans un seul fichier pour une diffusion Web plus rapide.
La conversion de GLB vers GLTF décompose un conteneur binaire unique en fichiers texte et ressources séparés afin que les développeurs puissent facilement modifier les textures et le code décrivant la géométrie 3D.