This article relies too much on references to primary sources. (May 2018) (Learn how and when to remove this template message)
glTF (GL Transmission Format) is a file format for 3D scenes and models using the JSON standard. It is described by its creators as the "JPEG of 3D." It is an API-neutral runtime asset delivery format developed by the Khronos Group 3D Formats Working Group and announced at HTML5DevConf 2016. The intention is that glTF be an efficient, interoperable asset delivery format that compresses the size of 3D scenes and minimizes runtime processing by applications using WebGL and other APIs. glTF also defines a common publishing format for 3D content tools and services.
|Initial release||19 October 2015|
2.0 / 5 June 2017
|Type||3D computer graphics|
|As of||17 September 2017|
In March 2012, Khronos organized a meetup to brainstorm about COLLADA and opportunities around WebGL traction. Fabrice Robinet volunteered to implement a proposal for an efficient JSON format with references to external binary blobs. Later, during the WebGL meetup hosted at SIGGRAPH 2012, Brandon Jones and Fabrice Robinet presented a demo of glTF, which was then called WebGL TF (WebGL Transmissions Format).
In March 2013, Cesium adopted glTF instead of "designing yet another asset format."
On August 10, 2015, 3D Tiles, now a proposed OGC Community Standard, built on glTF to add a spatial data structure, metadata, and declarative styling for streaming massive heterogeneous 3D geospatial datasets.
On October 19, 2015, the glTF 1.0 specification was announced.
In July 2016, John Carmack said:
“The world has long needed an efficient, usable standard for 3D scenes that sits at the level of common image, audio, video, and text formats. Not an authoring format, or necessarily a format you would use for a hyper optimized platform specific application, but something at home on the internet, capable of being directly created and consumed by many different applications”
In December 2016, Archilogic enabled the export of interactive 3D floor plans in glTF format and the import of any glTF 3D data in their web-based 3D editor.
On March 3, 2017 at the GDC WebGL/WebVR/glTF Meetup, Microsoft announced that they will be using glTF 2.0 as the 3D asset format across their product line, including Paint 3D, Viewer 3D, remix3d, Babylon, Office. Microsoft, Fraunhofer and University of Pennsylvania students demonstrated the same glTF 2.0 asset being rendered with WebGL, DirectX, and Vulkan. Also, at the meetup, Sketchfab announced support for glTF 2.0.
In March 2017, Google started a glTF extension for Draco mesh and point cloud compression.
glTF 2.0 was originally started as glTF 1.0.1 (and later glTF 1.1) in June 2016 as a bug fix release to tighten up corner cases found while developing the glTF validator. Concurrently, momentum grew around a Physically-Based Rendering (PBR) materials extension proposal by Fraunhofer. Given the interest in PBR and an API-neutral format, the glTF 1.1 effort was expanded to become glTF 2.0 to include the following new major features:
- PBR materials based on a metallic-roughness shading model. A specular-glossiness shading model is available as an extension.
- Sparse accessors and morph targets for techniques such as facial animation.
- Promoting an updated version of the glTF 1.0 binary glTF extension to the core specification.
- Schema tweaks and breaking changes for corner cases or performance such as replacing top-level glTF object properties with arrays for faster index-based access.
glTF 2.0 was published June 5, 2017 at the Web3D 2017 Conference.
On August 3, at the SIGGRAPH glTF BOF, Microsoft demonstrated glTF export in Minecraft, Autodesk demonstrated glTF import in Forge, Mozilla and Google demonstrated glTF in A-Frame, and Sketchfab announced 100,000+ glTF models available on their platform.
On September 6, 2017, Binomial announced plans to make their cross-platform texture compression format an open standard.
On September 7, 2017, Blender planned to ship the glTF exporter plugin with Blender.
On March 11, 2018, the Cairo Buddy system team has agreed to support glTF.
On September 28, 2018, Google announced support for gITF on their ARCore platform.
GLB file format is a binary form of glTF that includes textures instead of referencing them as external images. The .glb files are required to be loaded in Facebook 3D Posts.
A discussion on the next steps for the glTF specification, extensions, and ecosystem started on GitHub on July 30, 2017.
glTF has been criticized by veteran engine developer Eric Lengyel for inflexibility and poor design compared to previous existing 3D interchange formats such as the COLLADA format and his own Open Game Engine Exchange format. He points out that glTF lacks many capabilities when it comes to scene structure, material application, skinning, and lighting, as well as an inability to specify physical units or a global up direction vector. He further claims that the animation support in glTF is insufficient for accurately reproducing animations created in most popular modeling software (including Blender, Autodesk 3ds Max, and Autodesk Maya) due to the requirement that time be linear for cubic spline interpolation.
Godot Engine lead developer Juan Linietsky provided harsh criticism for glTF 1.0. However he has advocated for glTF 2.0 to be the standard asset exchange format for game engines. He has responded to Lengyel's feature comparison with both agreement and disagreement. He claims reduced capabilities are in fact an advantage in many cases, removing ambiguity and making importers simpler to implement.
glTF files can also be directly exported from a variety of 3D editors, such as Blender, Vectary, Autodesk 3ds Max (using Verge3D exporter), Autodesk Maya, Modo, Microsoft Paint 3D, Substance Painter and others.
A complete list of the ecosystem is maintained in the glTF GitHub repo.
- "Khronos Finalizes glTF 1.0 Specification - Khronos Group Press Release".
- "Cesium 3D Tiles".
- "OGC is considering a proposed work item for 3D Tiles as a Community Standard".
- "3D Tiles Community Standards Justification".
- Trevett, Neil (2 March 2017). "Microsoft announces at #Khronos #WebGL meetup that they will be using #glTF 2.0 as the 3D asset format across their product linepic.twitter.com/qsLymcSIhX". @neilt3d. Retrieved 2017-09-26.
- Cozzi, Patrick (3 March 2017). "glTF is at the core of Microsoft's 3D for Everyone vision thanks to @iamSBTron and @bghgary. Paint 3D, Viewer 3D, remix3d, Babylon, Office!!pic.twitter.com/3jRsk9Rilx". @pjcozzi. Retrieved 2017-09-26.
- Bhatia, Saurabh (3 March 2017). "webGL/webVR/glTF meetup - the same glTF 2.0 asset rendered on webGL, DirectX and Vulkan!pic.twitter.com/k4Kbc79g8w". @iamSBTron (in German). Retrieved 2017-09-26.
- "glTF 2 in Sketchfab" (PDF). March 3, 2017.
- "KHR_draco_geometry_compression by fanzhanggoogle · Pull Request #874 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
- "Spec changes from 1.0 to 2.0 · Issue #605 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
- "Summer Code Sprint Trip Report | cesium.com". cesium.com. Retrieved 2017-09-26.
- "[WIP] PBR Materials extension by mlimper · Pull Request #643 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
- "glTF 1.1 will be 2.0! · Issue #817 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
- glTF – Runtime 3D Asset Delivery, The Khronos Group, 2017-09-26, retrieved 2017-09-26
- "glTF 2.0 syntax changes and JSON encoding restrictions · Issue #831 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
- Nopper, Norbert (9 September 2017). "#glTF 2.0 exporter is going to be shipped with Blender:https://www.youtube.com/watch?v=hJ0GpTQaShs&t=1h04m50s …". @McNopper. Retrieved 2017-09-26. External link in
- Cabello, Ricardo (13 September 2017). "The new @Apple Watch website uses @glTF3D pic.twitter.com/2fOrVaiz7F". @mrdoob. Retrieved 2017-09-26.
- "Facebook lanserar 3d-stöd. Hur gör man 3D-inlägg på Facebook?". SoSocial.io (in Swedish). 2018-02-21. Retrieved 2018-02-22.
- "Richer 3D Posts on Facebook and New Ways to Share - Facebook for Developers". Facebook for Developers. Retrieved 2018-02-26.
- "LEGO". facebook.com. Retrieved 2018-02-26.
- UnityGLTF: Runtime GLTF Loader for Unity3D, The Khronos Group, 2017-09-26, retrieved 2017-09-26
- "Web-based client-side preview and validation · Issue #1081 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
- VR, Oculus. "June Platform Updates: 5K Video, Embedded Dash Panels, and More". Retrieved 2018-06-20.
- "Oculus Discussion Forums". Oculus. Retrieved 2018-06-20.
- "Introducing new APIs to improve augmented reality development with ARCore". Google Developers Blog. Retrieved 2018-09-28.
- "glTF roadmap - what would you like to see next in glTF? · Issue #1051 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
- "Comparison of OpenGEX, Collada, and glTF". 2018-05-04.
- "Juan Linietsky Tweets". 2018-02-10.
- Engine, Godot. "Godot Engine - Why we should all support glTF 2.0 as THE standard asset exchange format for game engines". godotengine.org. Retrieved 2018-10-20.
- "A small defense of glTF 2.0 on its comparison against OpenGEX". 2018-08-05.
- "How to make Facebook 3D posts". 3D Print Tech Design. Retrieved 2018-05-07.
- "GLB Tutorials". Facebook Developers. Retrieved May 7, 2018.