Che cos'è il formato di file GLB?
.glb è la forma contenitore binaria del formato .gltf (GL Transmission Format), sviluppato e mantenuto dal Khronos Group. Mentre un file .gltf è un semplice JSON che fa riferimento a file di geometria .bin esterni e asset di immagini separati, un file .glb raggruppa tutto - il JSON del grafo della scena, i buffer binari di geometria e animazione e le texture incorporate - in un unico file autosufficiente.
Il file inizia con un'intestazione little-endian di 12 byte: la stringa magica ASCII glTF (hex 67 6C 54 46), un campo versione uint32 (valore 2 per glTF 2.0) e una lunghezza totale del file uint32. Seguono l'intestazione dei blocchi (chunk) con lunghezza prefissata: un chunk JSON che trasporta la descrizione della scena (nodi, materiali, telecamere, animazioni) e un chunk BIN\ che contiene i dati grezzi del buffer binario.
.glb è talvolta chiamato «il JPEG del 3D» per le sue dimensioni compatte, l'ampio supporto e l'idoneità alla distribuzione web. È il formato asset predefinito per la AR su Android tramite Scene Viewer e il componente web <model-viewer>, ed è ampiamente utilizzato nei motori WebGL come three.js e Babylon.js. Rispetto a .fbx o .obj, è costruito appositamente per il rendering in tempo reale con materiali basati sulla fisica (PBR) già inclusi.
Le estensioni opzionali Khronos aggiungono la compressione delle mesh Draco (KHR_draco_mesh_compression) e la compressione delle texture KTX2/Basis Universal (KHR_texture_basisu), riducendo significativamente le dimensioni dei file per le scene di grandi dimensioni.
Sicurezza e incolumità
RISCHIO: LOWUn GLB è un insieme di dati 3D, non un eseguibile, quindi aprirne uno per visualizzarlo è sicuro. Le precauzioni realistiche non riguardano la sicurezza informatica in senso stretto: scansioni ad alto numero di poligoni o texture 4K possono essere pesanti da caricare, e storicamente ci sono state vulnerabilità nei parser di alcuni caricatori glTF/GLB - mantieni aggiornati i tuoi software 3D e i visualizzatori basati su browser e importa modelli da fonti affidabili. Come sempre, verifica la vera estensione: un file camuffato da «modello.glb» che è in realtà un eseguibile rappresenta il vero rischio, non il formato GLB in sé.
Dettagli del formato
in sintesi- File di supporto Raptor: Call of the Shadows - Un file di dati legacy per il gioco DOS del 1994 Raptor; il database sorgente lo indica erroneamente come significato principale di .glb, ma è obsoleto e non correlato al dominante formato glTF Binary.
- File globe/data Analytical Graphics STK - Un vecchio file ausiliario GIS/STK; molto di nicchia rispetto al significato 3D glTF Binary.
Programmi che aprono file GLB
Dettagli tecnici
specifiche approfondite| File magic (firma) | ASCII «glTF» all'offset byte 0 (hex: 67 6C 54 46) |
| Ordine dei byte | Little-endian in tutto il file |
| Dimensione intestazione | 12 byte: 4 byte magic + uint32 versione (valore 2) + uint32 lunghezza totale file |
| Struttura dei chunk | Chunk JSON (tipo 0x4E4F534A) seguito da chunk BIN (tipo 0x004E4942); ciascuno preceduto da uint32 lunghezza chunk e uint32 tipo chunk |
| Tipo MIME | model/gltf-binary (servito anche come application/octet-stream) |
| Codifica | Contenitore binario che avvolge la descrizione della scena JSON in UTF-8 + buffer binari grezzi per geometria/animazione |
| Compressione | Nessuna per impostazione predefinita; compressione mesh Draco opzionale tramite KHR_draco_mesh_compression e texture KTX2/Basis Universal tramite KHR_texture_basisu |
| Modello materiale PBR | Ombreggiatura metallic-roughness basata sulla fisica definita nel chunk JSON; specular-glossiness tramite KHR_materials_specular |
| Supporto animazione | Animazioni keyframe per traslazione, rotazione, scala e pesi morph-target; animazione scheletrica/skinning tramite gerarchie di giunti |
| Profondità colore texture | 8 bpc (RGB a 24 bit o RGBA a 32 bit tramite JPEG o PNG incorporati); mappe d'ambiente HDR tramite estensioni |
| Limite dimensione texture | Nessun limite imposto dal formato; limitato dalla GPU in pratica (comunemente fino a 8192×8192 per texture) |
| Autonomia | Tutte le geometrie, texture, animazioni e il grafo della scena sono raggruppati in un unico file; nessuna dipendenza esterna a differenza di .gltf + .bin + file immagine |
| Campo versione | uint32 nell'intestazione GLB identifica glTF 2.0 (valore 2); asset.version = «2.0» presente anche all'interno del chunk JSON |
| Dimensione tipica del file | 50 KB - 100 MB; la maggior parte degli asset web e AR rientra nell'intervallo 1-30 MB |
| Supporto piattaforma | Windows, macOS, Linux, Android, iOS e Web (WebGL tramite three.js, Babylon.js, model-viewer) |
| Crittografia / integrità | Nessuna crittografia o checksum integrato; solo il campo lunghezza totale nell'intestazione |
| Rilasciato | 2017 (glTF 2.0; GLB binary container) |
| Ultima versione | glTF 2.0 (GLB container, ratified by Khronos; ongoing extensions e.g. KHR_materials_*) |
| Standard aperto | Sì · royalty-free |
| Specifica | registry.khronos.org |
Conversioni GLB
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file GLB.