Binární glTF (.glb)
ISO/IEC StandardníBinary glTF (GLB) je soběstačný binární formát standardu glTF 2.0 uložený v jediném souboru, který je široce označován jako „JPEG pro 3D“ a používá se pro webovou 3D grafiku, rozšířenou realitu (AR) a herní enginy v reálném čase.
Převést GLTF na GLB
Bezplatný konvertor z GLTF do GLB v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.
Kontrola a metadata
Operační systémy a analyzátory souborů identifikují soubory GLB kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory GLB kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (POSUN 0):
67 6C 54 46ASCII REPREZENTACE: glTF
Standardizace: ISO/IEC 12113:2022 / Khronos Open Standard
Technické specifikace
| Architektura kontejneru | 12bajtová binární hlavička („glTF“, verze, délka), za níž následuje blok JSON (CHUNK 0) a blok binárního bufferu (CHUNK 1) |
| Komprese | Komprese geometrie sítí DRACO, KHR_texture_basisu (textury KTX2/Basis Universal pro GPU) a ExtMeshopt |
| Pořadí bajtů | Little-endian (Intel x86 / standard WebGL) |
| Barevné prostory | Textury sRGB, Lineární kanály drsnosti a kovovosti PBR |
| Kanály a struktura | Materiály PBR (kovovost a drsnost), kostry se skinningem, cíle morphingu, animace, kamery a světla |
| Max. rozměry | Počet vrcholů a trojúhelníků není omezen (podporuje modely o velikosti několika gigabajtů) |
| Průhlednost | Pokrytí alfa kanálem (MASK), prolnutí alfa (BLEND) a objemový přenos světla |
| Streamování a progresivní načítání | Jeden samostatný soubor s binárními bloky, které může software parsovat a nahrávat do bufferů GPU |
Technická srovnávací matice: GLB vs konkurence
| Technický atribut | GLB (Aktuální) | GLTF | USDZ | FBX |
|---|---|---|---|---|
| Model balení | Jediný soběstačný binární soubor | JSON + externí .bin soubory a soubory textur | ZIP archiv schémat a textur USD | Proprietární binární/ASCII formát Autodesk |
| Standard pro web a AR | Podpora se liší podle programu. | Podpora se liší podle programu. | Standard pro Apple iOS Quick Look AR | Standard pro import do desktopových herních engineů |
| Model materiálů | Standardizovaný glTF PBR Metallic-Roughness | Standardizovaný glTF PBR | Podpora se liší podle programu. | Proprietární Phong/Lambert/PBR shadery |
| Výkon čtení z GPU | Okamžitý (přímé mapování paměti) | Rychlý (více síťových požadavků) | Rychlý (nekomprimované položky ZIP) | Pomalý (vyžaduje složité parsování) |
Běžné režimy poškození a příručka pro obnovení v hex
3D model se vykresluje s chybějícími texturami nebo plně černými povrchy.
Hlavní příčina: Poškozený vložený blok textury nebo chybějící odkaz na PBR metallic-roughness texturu.
Obnovení: Zkontrolujte a opravte offsety bloků pomocí File2File.app 3D Converter nebo glTF-Transform.
Bezpečnostní analýza a vektory útoků na parser
Parsery GLB zpracovávají textové bloky JSON spolu s libovolnými binárními buffery, které mohou při nesouladu délek bufferů způsobit přetečení bufferu (buffer overflow).
Známé vektory útoků
- Nadměrné čtení bufferu (buffer over-read), když bufferView byteOffset + byteLength překročí délku binárního bloku.
- Čtení indexu vrcholu mimo platný rozsah (out-of-bounds) během provádění příkazu WebGL drawElements.
- Odepření služby (DoS) prostřednictvím patologických smyček dekomprese Draco.
Doporučené bezpečnostní postupy: Přísně ověřte, že všechny rozsahy bajtů accessorů a bufferView leží uvnitř deklarovaných hranic binárního chunku.
Historický vývoj a milníky
Klíčové výhody a přednosti
- Zcela soběstačný: balí 3D geometrii, PBR materiály, textury (PNG/JPEG/KTX2) a skeletové animace do jednoho souboru.
- Binární bloky mohou omezit množství práce potřebné k načtení dat scény, aplikace však musí stále parsovat metadata glTF a připravit prostředky pro svou vykreslovací pipeline.
- Nesporný standard pro WebGL, WebGPU, e-commerce 3D náhledy produktů a mobilní rozšířenou realitu.
Technická omezení a nevýhody
- Binární povaha ztěžuje ruční kontrolu textu nebo úpravy bez specializovaných 3D nástrojů.
- Vyžaduje dekompresní knihovny Draco nebo Basis Universal při použití pokročilých kompresních rozšíření.
- Platformy Apple preferují formát USDZ pro nativní iOS Quick Look AR, což vyžaduje konverzi formátu z GLB.
Zajímavé technické drobnosti
- První 4 bajty každého souboru GLB jsou 0x67 0x6C 0x54 0x46, které v ASCII tvoří text „glTF“.
- Když si na webovém prohlížeči v chytrém telefonu prohlížíte 3D tenisku, téměř jistě se díváte na interaktivní model GLB.
- Formát GLB byl navržen speciálně tak, aby grafický hardware mohl číst vertexové buffery přímo z disku do VRAM bez jakékoli transformace.
Často kladené technické otázky
Jaký je rozdíl mezi glTF a GLB?
glTF je soubor JSON, který odkazuje na externí geometrii .bin a samostatné soubory obrázkových textur. GLB vezme celý tento balíček a zabalí jej do jediného kompaktního binárního souboru.
Jak mohu převést GLB na USDZ pro Apple AR?
Modely GLB můžete jedním kliknutím převést na soubory USDZ připravené pro Apple pomocí File2File.app přímo ve vašem webovém prohlížeči.
Mohu otevírat soubory GLB v programu Blender?
Ano. Blender obsahuje nativní, vysoce výkonný importér a exportér glTF/GLB zabudovaný přímo v softwaru.
Související konverzní páry pro GLB
Konverze podkladů glTF JSON do kontejnerů glTF Binary sdružuje samostatné textové manifesty, binární datové bloky a textury do jednoho souboru pro rychlejší doručování na webu.
Konverze formátu GLB na GLTF rozbaluje jeden binární kontejner do samostatných textových souborů a souborů prostředků, což vývojářům umožňuje snadno upravovat textury a definice 3D geometrie.