Wat is het GLB-bestandsformaat?
.glb is de binaire containervorm van het .gltf-formaat (GL Transmission Format), ontwikkeld en onderhouden door de Khronos Group. Waar een .gltf-bestand platte JSON is die verwijst naar externe .bin-geometriebestanden en afzonderlijke afbeeldingsassets, bundelt een .glb-bestand alles - de scene graph JSON, binaire geometrie- en animatiebuffers, en ingesloten texturen - in één enkel, op zichzelf staand bestand.
Het bestand begint met een 12-byte little-endian header: de ASCII magic string glTF (hex 67 6C 54 46), een uint32-versieveld (waarde 2 voor glTF 2.0) en een uint32 voor de totale bestandslengte. Na de header volgen chunks met een lengte-prefix: een JSON-chunk die de scènebeschrijving bevat (nodes, materialen, camera's, animaties) en een BIN\ -chunk die de ruwe binaire buffergegevens bevat.
.glb wordt soms de „JPEG van 3D” genoemd vanwege de compacte omvang, brede ondersteuning en geschiktheid voor webdistributie. Het is het standaard asset-formaat voor AR op Android via Scene Viewer en de <model-viewer> webcomponent, en wordt veel gebruikt in WebGL-engines zoals three.js en Babylon.js. Vergeleken met .fbx of .obj is het speciaal gebouwd voor real-time rendering met „baked-in” fysiek gebaseerde materialen.
Optionele Khronos-extensies voegen Draco-meshcompressie (KHR_draco_mesh_compression) en KTX2/Basis Universal-textuurcompressie (KHR_texture_basisu) toe, wat de bestandsgrootte voor grote scènes aanzienlijk vermindert.
Beveiliging & veiligheid
RISICO: LOWEen GLB bevat 3D-gegevens, geen uitvoerbaar bestand, dus het openen ervan om te bekijken is veilig. Realistische waarschuwingen zijn niet-kwaadaardig: scans met zeer veel polygonen of 4K-texturen kunnen zwaar zijn om te laden, en historisch gezien zijn er kwetsbaarheden in parsers geweest in sommige glTF/GLB-loaders - houd uw 3D-software en browsergebaseerde viewers up-to-date en importeer modellen uit betrouwbare bronnen. Zoals altijd, controleer de echte extensie: een bestand vermomd als „model.glb” dat eigenlijk een uitvoerbaar bestand is, vormt het echte risico, niet het GLB-formaat zelf.
Formaatdetails
in een notendop- Raptor: Call of the Shadows ondersteuningsbestand - Een verouderd gegevensbestand voor het DOS-spel Raptor uit 1994; de brondatabase bestempelt dit ten onrechte als de primaire betekenis van .glb, maar het is verouderd en niet gerelateerd aan het dominante glTF Binary-formaat.
- Analytical Graphics STK globe/gegevensbestand - Een ouder GIS/STK-hulpbestand; zeer niche vergeleken met de 3D glTF Binary-betekenis.
Programma's die GLB-bestanden openen
Technische details
diepe specificaties| Bestandsmagic (handtekening) | ASCII „glTF” bij byte-offset 0 (hex: 67 6C 54 46) |
| Byte-volgorde | Overal Little-endian |
| Header-grootte | 12 bytes: 4-byte magic + uint32-versie (waarde 2) + uint32 totale bestandslengte |
| Chunk-structuur | JSON-chunk (type 0x4E4F534A) gevolgd door BIN-chunk (type 0x004E4942); elk voorafgegaan door uint32 chunk-lengte en uint32 chunk-type |
| MIME-type | model/gltf-binary (ook geserveerd als application/octet-stream) |
| Codering | Binaire container die UTF-8 JSON-scènebeschrijving + ruwe binaire geometrie/animatiebuffers omhult |
| Compressie | Standaard geen; optionele Draco-meshcompressie via KHR_draco_mesh_compression en KTX2/Basis Universal-texturen via KHR_texture_basisu |
| PBR-materiaalmodel | Fysiek gebaseerde metallic-roughness shading gedefinieerd in de JSON-chunk; specular-glossiness via KHR_materials_specular |
| Animatie-ondersteuning | Keyframe-animaties voor translatie, rotatie, schaal en morph-target weights; skelet/skin-animatie via joint-hiërarchieën |
| Textuur-kleurdiepte | 8 bpc (24-bit RGB of 32-bit RGBA via ingesloten JPEG of PNG); HDR-omgevingskaarten via extensies |
| Textuurgrootte-limiet | Geen limiet opgelegd door het formaat; in de praktijk beperkt door de GPU (meestal tot 8192×8192 per textuur) |
| Zelfvoorzienendheid | Alle geometrie, texturen, animaties en de scene graph gebundeld in één bestand; geen externe afhankelijkheden in tegenstelling tot .gltf + .bin + afbeeldingsbestanden |
| Versieveld | uint32 in GLB-header identificeert glTF 2.0 (waarde 2); asset.version = „2.0” ook aanwezig in de JSON-chunk |
| Typische bestandsgrootte | 50 KB - 100 MB; de meeste web- en AR-assets vallen in het bereik van 1-30 MB |
| Platformondersteuning | Windows, macOS, Linux, Android, iOS en Web (WebGL via three.js, Babylon.js, model-viewer) |
| Versleuteling / integriteit | Geen ingebouwde versleuteling of checksum; alleen het veld voor de totale lengte in de header |
| Uitgebracht | 2017 (glTF 2.0; GLB binary container) |
| Laatste versie | glTF 2.0 (GLB container, ratified by Khronos; ongoing extensions e.g. KHR_materials_*) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | registry.khronos.org |
GLB conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over GLB-bestanden.