glTF JSON (.gltf)

ISO/IEC Standaard

GL Transmission Format (glTF) is een royaltyvrije JSON-specificatie volgens een open standaard voor efficiënte overdracht en het laden van 3D-scènes en -modellen door WebGL, WebGPU, game-engines en native toepassingen.

GLTF naar GLB converteren

Gratis GLTF-naar-GLB-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen glTF-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen glTF-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

7B 0A 20 20 22 61 73 73 65 74 22

ASCII-WEERGAVE: {\n "asset"

Standaardisatie: ISO/IEC 12113:2022 / Khronos Open Standard

Technische specificaties

ContainerarchitectuurVoor mensen leesbaar JSON-document dat scènegraaf, knooppunten, meshes, accessors, materialen en animaties beschrijft en verwijst naar externe buffers
CompressieExterne texturen (PNG, JPEG, WebP) en optionele Draco-geometriecompressie
Bytevolgorde (endianness)UTF-8 JSON-tekst (met verwijzing naar Little-Endian .bin-buffers)
KleurruimtensRGB-basiskleur, Lineaire ruwheid/metallic
Kanalen en structuurScènehiërarchie, knooppunten, camera's, PBR-materialen, skinning-skeletten en morphtargets
Maximale afmetingenOnbegrensde coördinatenruimte en aantal driehoeken
TransparantieAlfamodus BLEND, MASK met een afkapdrempel of volumetrische transmissie
Streaming en progressiefglTF scheidt scènebeschrijvingen van binaire geometrie- en textuurgegevens. Daardoor kan een viewer onderdelen laden zodra dat nodig is, zonder te wachten op één monolithisch bestand.

Technische vergelijkingsmatrix: glTF versus concurrenten

Technisch kenmerkglTF (Huidig)GLBOBJFBX
BestandsarchitectuurJSON-scènetekst + bijbehorende .bin-bestanden en texturenEnkel op zichzelf staand binair bestandHoekpunten en vlakken in platte tekst + .mtlPropriëtaire binaire/ASCII-container
PBR-materiaalstandaardenGestandaardiseerde Metallic-Roughness-PBRGestandaardiseerde Metallic-Roughness-PBRVerouderde Phong/Lambert-materialenAangepaste propriëtaire materialen
Animatie-ondersteuningSkeletanimatie met skinning en morph targetsSkeletanimatie met skinning en morph targetsGeen (alleen statische geometrie)Complexe animatie en botten
Runtime-prestatiesGeoptimaliseerd voor WebGL en realtime-enginesGeoptimaliseerd voor WebGL en realtime-enginesVereist trage verwerking en heropbouwVereist complexe verwerking met een desktop-SDK

Veelvoorkomende beschadigingen en gids voor hex-herstel

3D-enginefout: 'Failed to load buffer: URI not found'.

Oorzaak: Het bijbehorende binaire .bin-bestand of de textuurafbeeldingen zijn niet samen met het .gltf-bestand geüpload.

Herstel: Verpak alle bijbehorende bestanden samen of converteer ze rechtstreeks naar één GLB-bestand met File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

glTF-JSON-bestanden verwijzen naar externe URI's (data-URI's of externe URL's) die kunnen leiden tot Server-Side Request Forgery (SSRF) of path traversal.

Bekende aanvalsvectoren

  • Path traversal via relatieve buffer-URI's (bijv. 'uri: ../../../etc/passwd').
  • SSRF via het ophalen van buffers van externe netwerken in server-side 3D-miniatuurgeneratoren.
  • Denial of service door verkeerd gevormde, cyclische knooppunthiërarchieën.

Aanbevolen beveiligingspraktijken: Sta externe URL's niet toe en normaliseer alle lokale buffer-URI-paden voordat u ze laadt.

Historische oorsprong en mijlpalen

2022glTF 2.0 wordt internationaal bekrachtigd als ISO/IEC 12113:2022.
2017Khronos Group brengt glTF 2.0 uit en standaardiseert Physically Based Rendering (PBR) als kernfunctie.
2015glTF 1.0 aangekondigd op SIGGRAPH, bedacht door Fabrice Robinet, Neil Trevett en Tony Parisi.

Belangrijkste voordelen

  • Dankzij de voor mensen leesbare JSON-structuur zijn programmatische bewerking, scripts voor pijplijnen en visuele inspectie mogelijk.
  • Modulair ontwerp: scheidt lichtgewicht scènemetadata van omvangrijke binaire geometrie (.bin) en texturen.
  • Physically Based Rendering (PBR)-materialen kunnen de visuele consistentie verbeteren, maar resultaten variëren nog steeds per renderer, belichting en instellingen.

Technische beperkingen

  • Complexiteit door meerdere bestanden: om een model te delen, moeten de .gltf-, .bin- en afbeeldingsbestanden met texturen samen worden ingepakt in een ZIP-bestand of bundel.
  • Iets langzamere initiële netwerkopstart dan een enkel GLB-bestand vanwege meerdere HTTP-verzoeken.
  • Afhankelijkheden van relatieve paden kunnen breken als bijbehorende textuurbestanden worden hernoemd of verplaatst.

Interessante technische weetjes

  • glTF heeft officieel de bijnaam 'de JPEG van 3D', omdat het zich strikt richt op overdracht en weergave tijdens runtime in plaats van op het maken van modellen.
  • De Khronos Group introduceerde glTF om de overdracht van 3D-assets voor web- en mobiele applicaties te stroomlijnen.
  • NASA biedt 3D-modellen van rovers, satellieten en astronauten aan om te downloaden in glTF-formaat.

Veelgestelde technische vragen

Waarom ontbreken de kleuren of vormen in mijn glTF-bestand?

Een .gltf-bestand bevat alleen de JSON-scène-instructies. Het is afhankelijk van bijbehorende .bin-bestanden voor de 3D-vormen en .png/.jpg-bestanden voor de kleuren. Zorg ervoor dat alle bijbehorende bestanden zich in dezelfde map bevinden.

Hoe zet ik een glTF-bestand om naar een enkel GLB-bestand?

Open uw .gltf-bestand en de bijbehorende .bin- en textuurbestanden in File2File.app om ze direct samen te voegen tot één zelfstandig .glb-bestand.

Welke programma's ondersteunen glTF?

Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot en Windows 3D Viewer ondersteunen glTF standaard.