Qu'est-ce que le format de fichier GLB ?
.glb est la forme de conteneur binaire du format .gltf (GL Transmission Format), développé et maintenu par le Khronos Group. Alors qu'un fichier .gltf est un JSON simple qui référence des fichiers de géométrie .bin externes et des ressources d'image séparées, un fichier .glb regroupe tout - le JSON du graphe de scène, les tampons binaires de géométrie et d'animation, et les textures intégrées - dans un seul fichier autonome.
Le fichier commence par un en-tête de 12 octets en little-endian : la chaîne magique ASCII glTF (hex 67 6C 54 46), un champ de version uint32 (valeur 2 pour glTF 2.0) et une longueur totale de fichier uint32. L'en-tête est suivi de segments (chunks) préfixés par leur longueur : un segment JSON transportant la description de la scène (nœuds, matériaux, caméras, animations) et un segment BIN\ contenant les données brutes du tampon binaire.
.glb est parfois appelé « le JPEG de la 3D » en raison de sa taille compacte, de son large support et de sa pertinence pour la diffusion sur le web. C'est le format d'atout par défaut pour la RA sur Android via Scene Viewer et le composant web <model-viewer>, et il est largement utilisé dans les moteurs WebGL tels que three.js et Babylon.js. Comparé au .fbx ou au .obj, il est conçu spécifiquement pour le rendu en temps réel avec des matériaux basés sur la physique (PBR) intégrés.
Des extensions optionnelles de Khronos ajoutent la compression de maillage Draco (KHR_draco_mesh_compression) et la compression de texture KTX2/Basis Universal (KHR_texture_basisu), réduisant considérablement la taille des fichiers pour les scènes complexes.
Sécurité et sûreté
RISQUE : LOWUn GLB contient des données 3D, pas un exécutable, donc l'ouvrir pour le visualiser est sûr. Les précautions réalistes sont d'ordre non malveillant : des scans à très haute densité de polygones ou des textures 4K peuvent être lourds à charger, et historiquement, il y a eu des vulnérabilités d'analyseur dans certains chargeurs glTF/GLB - maintenez vos logiciels 3D et vos visionneurs Web à jour et importez des modèles de sources réputées. Comme toujours, vérifiez l'extension réelle : un fichier déguisé en « model.glb » qui est en réalité un exécutable constitue le risque réel, pas le format GLB lui-même.
Détails du format
en bref- Fichier de support Raptor: Call of the Shadows - Un fichier de données hérité pour le jeu DOS Raptor de 1994 ; la base de données source l'étiquette par erreur comme la signification principale de .glb, mais il est obsolète et sans rapport avec le format dominant glTF Binary.
- Fichier globe/données Analytical Graphics STK - Un ancien fichier auxiliaire SIG/STK ; très spécialisé par rapport à la signification 3D glTF Binary.
Programmes qui ouvrent les fichiers GLB
Détails techniques
spécifications approfondies| Signature de fichier (magic) | ASCII « glTF » à l'offset 0 (hex : 67 6C 54 46) |
| Ordre des octets | Little-endian partout |
| Taille de l'en-tête | 12 octets : magic de 4 octets + version uint32 (valeur 2) + longueur totale du fichier uint32 |
| Structure des segments | Segment JSON (type 0x4E4F534A) suivi du segment BIN (type 0x004E4942) ; chacun préfixé par la longueur du segment (uint32) et le type de segment (uint32) |
| Type MIME | model/gltf-binary (également servi comme application/octet-stream) |
| Encodage | Conteneur binaire enveloppant une description de scène JSON en UTF-8 + tampons binaires bruts de géométrie/animation |
| Compression | Aucune par défaut ; compression de maillage Draco optionnelle via KHR_draco_mesh_compression et textures KTX2/Basis Universal via KHR_texture_basisu |
| Modèle de matériau PBR | Ombrage métallique-rugosité basé sur la physique défini dans le segment JSON ; spéculaire-brillance via KHR_materials_specular |
| Support d'animation | Animations par images clés pour la translation, la rotation, l'échelle et les poids des cibles de morphing ; animation squelettique/skinning via des hiérarchies d'articulations |
| Profondeur de couleur des textures | 8 bpc (RVB 24 bits ou RVBA 32 bits via JPEG ou PNG intégrés) ; cartes d'environnement HDR via extensions |
| Limite de taille de texture | Aucune limite imposée par le format ; limitée par le GPU en pratique (couramment jusqu'à 8192×8192 par texture) |
| Autonomie | Toutes les géométries, textures, animations et le graphe de scène sont regroupés dans un seul fichier ; aucune dépendance externe contrairement au .gltf + .bin + fichiers images |
| Champ de version | uint32 dans l'en-tête GLB identifie glTF 2.0 (valeur 2) ; asset.version = « 2.0 » également présent dans le segment JSON |
| Taille de fichier typique | 50 Ko - 100 Mo ; la plupart des ressources web et RA se situent dans la plage 1-30 Mo |
| Support plateforme | Windows, macOS, Linux, Android, iOS et Web (WebGL via three.js, Babylon.js, model-viewer) |
| Chiffrement / intégrité | Pas de chiffrement ou de somme de contrôle intégré ; champ de longueur totale dans l'en-tête uniquement |
| Publié | 2017 (glTF 2.0; GLB binary container) |
| Dernière version | glTF 2.0 (GLB container, ratified by Khronos; ongoing extensions e.g. KHR_materials_*) |
| Standard ouvert | Oui · libre de droits |
| Spécification | registry.khronos.org |
Conversions GLB
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers GLB.